diff --git a/CLAUDE.md b/CLAUDE.md index da4492b..a27876a 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -44,9 +44,9 @@ darktable_common.sh → Gemeinsame Hilfsfunktionen (wird per source eingebund Dry-Run: `RSYNC_DRY_FLAG=(--dry-run)` wird zu allen Aufrufen hinzugefügt. ## itemize-changes Format -- `>f+++++++++` — neue Datei (Upload) -- `f` / `f+++++++++` — neue Datei (Download, lokal empfangen) +- `f` ohne `+` — aktualisiert - `*deleting` — gelöscht ## Sicherheitsmechanismen diff --git a/scripts/darktable_common.sh b/scripts/darktable_common.sh index ad0db12..3955fe6 100644 --- a/scripts/darktable_common.sh +++ b/scripts/darktable_common.sh @@ -106,7 +106,7 @@ classify_filetype() { format_rsync_details() { local log_file="$1" direction_label="$2" direction="$3" [ -f "$log_file" ] || return 0 - local prefix; [ "$direction" = "up" ] && prefix=">f" || prefix="f|^cd' "$log_file" 2>/dev/null) || count=0 ;; - down) count=$(grep -cE '^/dev/null) || count=0 ;; + up) count=$(grep -cE '^/dev/null) || count=0 ;; + down) count=$(grep -cE '^>f|^cd' "$log_file" 2>/dev/null) || count=0 ;; esac echo "$count" } @@ -300,18 +300,18 @@ if [ "$DRY_RUN" = true ]; then upload_log=$(cat "$UPLOAD_LOG_DB" "$UPLOAD_LOG_PHOTOS" 2>/dev/null || true) download_log=$(cat "$DOWNLOAD_LOG_DB" "$DOWNLOAD_LOG_PHOTOS" 2>/dev/null || true) - UP_NEW=$( echo "$upload_log" | grep -cE '^>f[+]{9}' || echo 0) - UP_UPD=$( echo "$upload_log" | grep -E '^>f' | grep -cvE '^>f[+]{9}' || echo 0) - UP_DEL=$( echo "$upload_log" | grep -cE '^\*deleting' || echo 0) - DN_NEW=$( echo "$download_log" | grep -cE '^f[+]{9}' || true) + DN_UPD=$( echo "$download_log" | grep -E '^>f' | grep -cvE '^>f[+]{9}' || true) + DN_DEL=$( echo "$download_log" | grep -cE '^\*deleting' || true) log_step "Trockenlauf-Ergebnis" - log " Upload: $UP_NEW neu | $UP_UPD aktualisiert | $UP_DEL gelöscht (Server)" + log " Upload: $UP_NEW neu | $UP_UPD aktualisiert | $UP_DEL gelöscht" log " Download: $DN_NEW neu | $DN_UPD aktualisiert | $DN_DEL gelöscht → Backup: $BACKUP_PHOTO_DIR" - if [ "$((TOTAL_SENT + TOTAL_RECEIVED))" -gt 0 ]; then + if [ "$((UP_NEW + UP_UPD + UP_DEL + DN_NEW + DN_UPD + DN_DEL))" -gt 0 ]; then if ask_user "Details" "Details der zu übertragenden Dateien anzeigen?"; then format_rsync_details "$UPLOAD_LOG_DB" "Upload" "up" format_rsync_details "$UPLOAD_LOG_PHOTOS" "Upload" "up"