From e92ab933ce789e17424ede625d7b31f224fcfa32 Mon Sep 17 00:00:00 2001 From: buenosairesam Date: Fri, 10 Apr 2026 13:34:51 -0300 Subject: [PATCH] ctrl/sync.sh --- ctrl/sync.sh | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/ctrl/sync.sh b/ctrl/sync.sh index 6e05bd3..9d5d1c0 100755 --- a/ctrl/sync.sh +++ b/ctrl/sync.sh @@ -7,10 +7,16 @@ REMOTE="${1:-mariano@mcrndeb}" REMOTE_PATH="${2:-~/wdir/cht/}" PROJECT_DIR="$(cd "$(dirname "$0")/.." && pwd)" +# Ask git directly what it ignores — more reliable than rsync's .gitignore parsing, +# and correctly reflects the current branch after a checkout. +EXCLUDE_FILE=$(mktemp) +trap "rm -f '$EXCLUDE_FILE'" EXIT + +git -C "$PROJECT_DIR" ls-files --others --ignored --exclude-standard --directory \ + > "$EXCLUDE_FILE" 2>/dev/null || true + rsync -avz --delete \ --exclude='.git/' \ - --exclude='media/target/' \ - --exclude='media/logs/' \ - --filter=':- .gitignore' \ + --exclude-from="$EXCLUDE_FILE" \ "$PROJECT_DIR/" \ "${REMOTE}:${REMOTE_PATH}"