diff --git a/sync_server_file.sh b/sync_server_file.sh index 602b030..8005831 100755 --- a/sync_server_file.sh +++ b/sync_server_file.sh @@ -14,7 +14,7 @@ LOCAL_DST="/home/alex/devel/matlab-ase" # Filtri: include directory (*/), include solo *.m, esclude *mcrCache*, esclude tutto il resto (*) echo "Inizio sincronizzazione da ${REMOTE_HOST}..." -rsync -avz --delete -e "ssh -p ${REMOTE_PORT}" \ +rsync -avzm --delete -e "ssh -p ${REMOTE_PORT}" \ --include='*/' \ --include='*.m' \ --exclude='*' \ @@ -32,11 +32,11 @@ fi SYNC_DATE=$(date +"%Y-%m-%d %H:%M:%S") COMMIT_MSG="Sync from remote server: ${SYNC_DATE}" -# 4. Aggiungi tutte le modifiche (nuovi file, modificati, eliminati) all'area di staging -# Usiamo 'git add .' per nuovi/modificati e 'git add -u' per le eliminazioni/modifiche. -# 'git add -A' (o 'git add --all') è la soluzione più semplice e completa. -echo "Aggiungo modifiche al Git staging area..." -git add -A "${LOCAL_DST}" +# 4. Aggiungi SOLO i file .m modificati o nuovi all'area di staging +echo "Aggiungo SOLO i file .m al Git staging area..." + +# Utilizza 'find' per trovare tutti i file .m in modo ricorsivo e li passa a 'git add' +find "${LOCAL_DST}" -type f -name "*.m" -print0 | xargs -0 git add # 5. Esegui il commit con il messaggio datato echo "Eseguo il commit con messaggio: \"${COMMIT_MSG}\""