add --sftp-only flag support

This commit is contained in:
2025-12-07 23:12:28 +02:00
parent 0c17ea68c6
commit eeaf4a9a45

View File

@@ -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