From eeaf4a9a458ddbce962f9615deed785222ea9be3 Mon Sep 17 00:00:00 2001 From: Leons Aleksandrovs Date: Sun, 7 Dec 2025 23:12:28 +0200 Subject: [PATCH] add --sftp-only flag support --- sync-project.sh | 50 ++++++++++++++++++++++++++----------------------- 1 file changed, 27 insertions(+), 23 deletions(-) diff --git a/sync-project.sh b/sync-project.sh index b56d7f7..f781c14 100755 --- a/sync-project.sh +++ b/sync-project.sh @@ -2,18 +2,6 @@ # This script is used to sync a project from # a remote server to a local machine. -# -# Considerations: -# 1. The server must have an SSH key set up for password-less login. -# 2. The server must have the project files in a specific folder. (~/public_leo, etc..) -# -# How it works: -# 1. created an archive on the server -# 2. copy the archive to the local machine -# 3. extract the archive locally -# 4. delete the local archive -# 5. delete the server archive -# 6. create .vscode/sftp.json file # Colors for output GREEN='\033[0;32m' @@ -25,7 +13,15 @@ NC='\033[0m' # No Color # Get current script real directory (follow symlinks) SCRIPT_PATH="$(realpath "$0")" SCRIPT_DIR="$(dirname "$SCRIPT_PATH")" -ARCHIVE_NAME="leo.tar.gz" +ARCHIVE_NAME="sync.tar.gz" + +# Parse command line arguments +SFTP_ONLY=false +for arg in "$@"; do + if [ "$arg" = "--sftp-only" ]; then + SFTP_ONLY=true + fi +done # Function to add entry to .gitignore if not already present add_to_gitignore() { @@ -155,7 +151,11 @@ echo "{ echo -e "${GREEN}.vscode/sftp.json created successfully${NC}" # Go through scripts, add variables and add them to project folder -scripts=("watch-build.sh" "local-remote.sh" "remote-local.sh" "sftp-watch.sh" "ssh.sh") +if [ "$SFTP_ONLY" = true ]; then + scripts=("local-remote.sh" "remote-local.sh" "sftp-watch.sh" "ssh.sh") +else + scripts=("watch-build.sh" "local-remote.sh" "remote-local.sh" "sftp-watch.sh" "ssh.sh") +fi for script in "${scripts[@]}"; do # Add variables to script @@ -174,16 +174,20 @@ for script in "${scripts[@]}"; do cat "${SCRIPT_DIR}/scripts/${script}" >> "${script}" echo "${script} created successfully" - # Add script to .gitignore - add_to_gitignore "${script}" + # Skip .gitignore updates when --sftp-only flag is present + if [ "$SFTP_ONLY" = false ]; then + add_to_gitignore "${script}" + fi done -# Upload lazygit to server -echo "Uploading lazygit to server..." +# Upload lazygit to server (skip when --sftp-only flag is present) +if [ "$SFTP_ONLY" = false ]; then + echo "Uploading lazygit to server..." -cp "${SCRIPT_DIR}/lazygit" . -sshpass -p "${SSH_PASSWORD}" scp "${SCRIPT_DIR}/lazygit" ${SERVER_HOST}:${SERVER_PROJECT_PATH} -echo -e "${GREEN}lazygit uploaded successfully${NC}" + cp "${SCRIPT_DIR}/lazygit" . + sshpass -p "${SSH_PASSWORD}" scp "${SCRIPT_DIR}/lazygit" ${SERVER_HOST}:${SERVER_PROJECT_PATH} + echo -e "${GREEN}lazygit uploaded successfully${NC}" -# Add lazygit to .gitignore -add_to_gitignore "lazygit" + # Add lazygit to .gitignore + add_to_gitignore "lazygit" +fi