Compare commits
8 Commits
441c303ebf
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| cfcff69dac | |||
| 19e37ba720 | |||
| e0c479fa87 | |||
| 66f7fbb3c0 | |||
| cff9f5cc12 | |||
| 9180d0f564 | |||
| 8e6b57abc3 | |||
| b495268073 |
@ -20,12 +20,10 @@ chmod +x .git/hooks/pre-commit
|
|||||||
~~~
|
~~~
|
||||||
|
|
||||||
### Die Scripte ###
|
### Die Scripte ###
|
||||||
> Bei Nutzung der Scripte ist der pre-commit-Hook eigentlich nicht erforderlich; er dient als Schutzschicht, falls die Scripte fehlerhaft sein sollten.
|
|
||||||
|
|
||||||
> Beide Scripte verfügen nicht über einen _push_.
|
> Beide Scripte verfügen nicht über einen _push_.
|
||||||
|
|
||||||
#### Das Cron-Script einrichten ####
|
#### Das Cron-Script einrichten ####
|
||||||
Um automatisiert Dateien dem WORM-Speicher zuzuführen, werden sie im Verzeichnis "Neu" gespeichert (auch Unterverzeichnisse). Cron sorgt für die Übertragung der Dateien von "Neu" nach "Archiv", die noch nicht im WORM-Speicher vorhanden sind (sync_archive.sh). Übertragene Dateien werden gelöscht, nicht übertragene Dateien verbleiben im Verzeichnis "Neu".
|
Um automatisiert Dateien dem WORM-Speicher zuzuführen, werden sie im Verzeichnis "Neu" gespeichert (auch Unterverzeichnisse). Cron sorgt für die Übertragung der Dateien von "Neu" nach "Archiv", die noch nicht im WORM-Speicher vorhanden sind (commit-wrapper.sh). Übertragene Dateien werden aus dem Verzeichnis "Neu/" gelöscht, nicht übertragene Dateien verbleiben dort.
|
||||||
|
|
||||||
#### Script mit Umbenennung ####
|
#### Interaktive Änderungen ####
|
||||||
Beim Aufruf des Scriptes "interactive_archive_sync.sh" werden alle neuen Dateien von "Neu" nach "Archiv" verschoben. Im "Archiv" bereits vorhandene Dateien können auf Wunsch mit einer Versionsnummer versehen werden und __dann__ dem Archiv zugeführt werden.
|
Das Script commit-interactiv.sh macht das gleiche wie commit-wrapper.sh, allerdings fragt es bei jeder Datei, die schon im Archiv vorhanden ist, ob die Datei aus Neu/ mit einer Versionsnummer zusätzlich gespeichert werden soll. Diese Version des Scripts eignet sich nicht für einen cronjob.
|
||||||
90
commit-interaktiv.sh
Normal file
90
commit-interaktiv.sh
Normal file
@ -0,0 +1,90 @@
|
|||||||
|
### 3 commit-interaktiv.sh (manuelle Nutzung)
|
||||||
|
|
||||||
|
#!/bin/bash
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
cd "$(dirname "$0")"
|
||||||
|
|
||||||
|
LOGFILE="archiv.log"
|
||||||
|
TIMESTAMP() { date '+%Y-%m-%d %H:%M:%S'; }
|
||||||
|
|
||||||
|
log() {
|
||||||
|
echo "[$(TIMESTAMP)] $1" | tee -a "$LOGFILE"
|
||||||
|
}
|
||||||
|
|
||||||
|
RESTORE_SCRIPT="./restore-archiv.sh"
|
||||||
|
|
||||||
|
log "➔ Starte interaktive Archivierung..."
|
||||||
|
|
||||||
|
find Neu/ -type f | while read -r file; do
|
||||||
|
relative_path="${file#Neu/}"
|
||||||
|
target="Archiv/$relative_path"
|
||||||
|
|
||||||
|
base=$(basename "$file")
|
||||||
|
target_dir=$(dirname "$target")
|
||||||
|
mkdir -p "$target_dir"
|
||||||
|
|
||||||
|
if [ -e "$target" ]; then
|
||||||
|
echo "⚠️ Datei '$relative_path' existiert bereits im Archiv."
|
||||||
|
|
||||||
|
base_name="${base%.*}"
|
||||||
|
ext="${base##*.}"
|
||||||
|
if [ "$base_name" = "$ext" ]; then ext=""; else ext=".$ext"; fi
|
||||||
|
|
||||||
|
version=2
|
||||||
|
new_base="${base_name}_v${version}${ext}"
|
||||||
|
new_target="$target_dir/$new_base"
|
||||||
|
while [ -e "$new_target" ]; do
|
||||||
|
version=$((version + 1))
|
||||||
|
new_base="${base_name}_v${version}${ext}"
|
||||||
|
new_target="$target_dir/$new_base"
|
||||||
|
done
|
||||||
|
|
||||||
|
echo "Vorschlag zum Umbenennen: '$new_base'"
|
||||||
|
read -rp "▶ï¸ Umbenennen? (j = ja, n = nein, sonst abbrechen): " answer
|
||||||
|
|
||||||
|
if [[ "$answer" =~ ^[Jj]$ ]]; then
|
||||||
|
cp "$file" "$new_target"
|
||||||
|
log "✅ '$file' → '$new_target' (umbenannt)"
|
||||||
|
elif [[ "$answer" =~ ^[Nn]$ ]]; then
|
||||||
|
read -rp "Neuer Dateiname eingeben (ohne Pfad): " user_input
|
||||||
|
[ -z "$user_input" ] && log "⚠️ Abbruch durch Benutzer." && continue
|
||||||
|
custom_target="$target_dir/$user_input"
|
||||||
|
if [ -e "$custom_target" ]; then
|
||||||
|
echo "⚠️ '$user_input' existiert ebenfalls. Übersprungen."
|
||||||
|
log "⚠️ '$file' nicht archiviert (Name doppelt)."
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
cp "$file" "$custom_target"
|
||||||
|
log "✅ '$file' → '$custom_target' (benutzerdefiniert)"
|
||||||
|
else
|
||||||
|
log "⚠️ Abbruch durch Benutzer."
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
cp "$file" "$target"
|
||||||
|
log "✅ '$file' → '$target'"
|
||||||
|
fi
|
||||||
|
|
||||||
|
done
|
||||||
|
|
||||||
|
# Aufräumen
|
||||||
|
find Neu/ -type f -delete
|
||||||
|
find Neu/ -mindepth 1 -type d -empty -delete
|
||||||
|
log "🛋 Neu-Verzeichnis aufgeräumt."
|
||||||
|
|
||||||
|
# Staging + Commit
|
||||||
|
git add --all
|
||||||
|
if git status --porcelain | grep . >/dev/null; then
|
||||||
|
if git commit -m "Manuelle Archivierung am $(TIMESTAMP)"; then
|
||||||
|
log "✅ Commit erfolgreich."
|
||||||
|
else
|
||||||
|
log "❌ Commit fehlgeschlagen. Starte Restore."
|
||||||
|
if [ -x "$RESTORE_SCRIPT" ]; then
|
||||||
|
"$RESTORE_SCRIPT"
|
||||||
|
log "♻️ Restore ausgeführt."
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
log "📥 Keine Änderungen zum Committen."
|
||||||
|
fi
|
||||||
60
commit-wrapper.sh
Normal file
60
commit-wrapper.sh
Normal file
@ -0,0 +1,60 @@
|
|||||||
|
### commit-wrapper.sh (für Cron)
|
||||||
|
|
||||||
|
#!/bin/bash
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
cd "$(dirname "$0")"
|
||||||
|
|
||||||
|
LOGFILE="archiv.log"
|
||||||
|
TIMESTAMP() { date '+%Y-%m-%d %H:%M:%S'; }
|
||||||
|
|
||||||
|
log() {
|
||||||
|
echo "[$(TIMESTAMP)] $1" | tee -a "$LOGFILE"
|
||||||
|
}
|
||||||
|
|
||||||
|
RESTORE_SCRIPT="./restore-archiv.sh"
|
||||||
|
|
||||||
|
log "➔ Starte Archivierungslauf (cron-tauglich, rekursiv)..."
|
||||||
|
|
||||||
|
# 1. Dateien rekursiv aus Neu nach Archiv kopieren, falls sie nicht existieren
|
||||||
|
find Neu/ -type f | while read -r file; do
|
||||||
|
relative_path="${file#Neu/}"
|
||||||
|
target="Archiv/$relative_path"
|
||||||
|
|
||||||
|
if [ -e "$target" ]; then
|
||||||
|
log "⚠️ Datei '$relative_path' existiert bereits im Archiv. Übersprungen."
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
|
||||||
|
mkdir -p "$(dirname "$target")"
|
||||||
|
cp "$file" "$target"
|
||||||
|
log "✅ '$file' nach '$target' kopiert."
|
||||||
|
rm "$file"
|
||||||
|
log "🛋 '$file' gelöscht."
|
||||||
|
|
||||||
|
done
|
||||||
|
|
||||||
|
# 2. Aufräumen leerer Unterverzeichnisse, aber nicht Neu/ selbst
|
||||||
|
find Neu/ -mindepth 1 -type d -empty -delete
|
||||||
|
|
||||||
|
# 3. Alles zum Commit vormerken
|
||||||
|
git add --all
|
||||||
|
log "📍 Alle Änderungen vorgemerkt."
|
||||||
|
|
||||||
|
# 4. Commit-Versuch
|
||||||
|
if git status --porcelain | grep . >/dev/null; then
|
||||||
|
if git commit -m "Archivierung automatisch am $(TIMESTAMP)"; then
|
||||||
|
log "✅ Commit erfolgreich."
|
||||||
|
else
|
||||||
|
log "❌ Commit fehlgeschlagen. Starte Restore."
|
||||||
|
if [ -x "$RESTORE_SCRIPT" ]; then
|
||||||
|
"$RESTORE_SCRIPT"
|
||||||
|
log "♻️ Restore ausgeführt."
|
||||||
|
else
|
||||||
|
log "⚠️ Restore-Skript nicht gefunden."
|
||||||
|
fi
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
log "📥 Keine Änderungen zum Committen."
|
||||||
|
fi
|
||||||
@ -1,92 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
## Anpassen !!! ##
|
|
||||||
GIT_REPO_PATH="/home/alf/MEINWORM"
|
|
||||||
NEW_FILES_DIR="Neu"
|
|
||||||
ARCHIVE_TARGET_DIR="Archiv"
|
|
||||||
LOG_FILE="/home/alf/archive_sync_interactive.log" # Pfad anpassen
|
|
||||||
|
|
||||||
## Ende des Anpassen-Blocks ##
|
|
||||||
|
|
||||||
log_message() { echo "[$(date +"%Y-%m-%d %H:%M:%S")] $1" | tee -a "$LOG_FILE"; }
|
|
||||||
|
|
||||||
get_next_version_number() {
|
|
||||||
local base_name="$1"
|
|
||||||
local extension="$2"
|
|
||||||
local max_version=0
|
|
||||||
local found_files=()
|
|
||||||
readarray -t found_files < <(find "$ARCHIVE_TARGET_DIR" -type f -name "${base_name}_v*.${extension}")
|
|
||||||
|
|
||||||
for existing_version_file in "${found_files[@]}"; do
|
|
||||||
local part_without_ext=$(basename "$existing_version_file" ".${extension}")
|
|
||||||
local current_version_str="${part_without_ext##*_v}"
|
|
||||||
if [[ -n "$current_version_str" && "$current_version_str" =~ ^[0-9]+$ ]]; then
|
|
||||||
if (( current_version_str > max_version )); then max_version=$current_version_str; fi
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
echo $((max_version + 1))
|
|
||||||
}
|
|
||||||
|
|
||||||
log_message "--- Interactive Archive Sync Script Started ---"
|
|
||||||
cd "$GIT_REPO_PATH" || { log_message "ERROR: Could not change to Git repository directory. Exiting."; exit 1; }
|
|
||||||
mkdir -p "$ARCHIVE_TARGET_DIR"
|
|
||||||
|
|
||||||
readarray -t FILES_TO_PROCESS < <(find "$NEW_FILES_DIR" -type f)
|
|
||||||
|
|
||||||
for FILE_PATH_IN_NEW in "${FILES_TO_PROCESS[@]}"; do
|
|
||||||
FILE_FULL_NAME=$(basename "$FILE_PATH_IN_NEW")
|
|
||||||
FILE_NAME_NO_EXT="${FILE_FULL_NAME%.*}"
|
|
||||||
FILE_EXTENSION="${FILE_FULL_NAME##*.}"
|
|
||||||
TARGET_FILE_PATH_ORIG="$ARCHIVE_TARGET_DIR/$FILE_FULL_NAME"
|
|
||||||
|
|
||||||
log_message "Processing file: $FILE_PATH_IN_NEW"
|
|
||||||
|
|
||||||
if git ls-files --error-unmatch -- "$TARGET_FILE_PATH_ORIG" &>/dev/null; then
|
|
||||||
log_message " File '$FILE_FULL_NAME' already exists in '$ARCHIVE_TARGET_DIR/'."
|
|
||||||
echo ""
|
|
||||||
echo "Die Datei '$FILE_FULL_NAME' existiert bereits im Archiv."
|
|
||||||
echo "Möchten Sie diese Datei als neue Version (z.B. '${FILE_NAME_NO_EXT}_vX.${FILE_EXTENSION}') hinzufügen?"
|
|
||||||
read -p "[j/n/a (ja/nein/abbrechen)] " choice
|
|
||||||
echo ""
|
|
||||||
|
|
||||||
case "$choice" in
|
|
||||||
j|J )
|
|
||||||
NEXT_VERSION=$(get_next_version_number "$FILE_NAME_NO_EXT" "$FILE_EXTENSION")
|
|
||||||
NEW_VERSIONED_FILE_NAME="${FILE_NAME_NO_EXT}_v${NEXT_VERSION}.${FILE_EXTENSION}"
|
|
||||||
TARGET_FILE_PATH_VERSIONED="$ARCHIVE_TARGET_DIR/$NEW_VERSIONED_FILE_NAME"
|
|
||||||
log_message " Adding '$FILE_FULL_NAME' as versioned file: '$NEW_VERSIONED_FILE_NAME'."
|
|
||||||
cp "$FILE_PATH_IN_NEW" "$TARGET_FILE_PATH_VERSIONED"
|
|
||||||
git add "$TARGET_FILE_PATH_VERSIONED"
|
|
||||||
if ! git diff --cached --quiet --exit-code; then
|
|
||||||
git commit -m "Add versioned file: $NEW_VERSIONED_FILE_NAME" "$TARGET_FILE_PATH_VERSIONED" || {
|
|
||||||
log_message " ERROR: Commit for '$NEW_VERSIONED_FILE_NAME' failed. Restoring."
|
|
||||||
git restore --staged "$TARGET_FILE_PATH_VERSIONED"; git restore "$TARGET_FILE_PATH_VERSIONED"
|
|
||||||
}
|
|
||||||
if [ $? -eq 0 ]; then log_message " Successfully committed '$NEW_VERSIONED_FILE_NAME'."; fi
|
|
||||||
else log_message " WARNING: No changes staged for '$NEW_VERSIONED_FILE_NAME'. Skipping commit."; fi
|
|
||||||
;;
|
|
||||||
n|N ) log_message " Skipping '$FILE_FULL_NAME'. File remains in '$NEW_FILES_DIR'.";;
|
|
||||||
a|A ) log_message " User chose to abort. Exiting."; exit 0;;
|
|
||||||
* ) log_message " Invalid input for '$FILE_FULL_NAME'. Skipping and continuing.";;
|
|
||||||
esac
|
|
||||||
else
|
|
||||||
log_message " File '$FILE_FULL_NAME' is new to '$ARCHIVE_TARGET_DIR/'. Adding..."
|
|
||||||
cp "$FILE_PATH_IN_NEW" "$TARGET_FILE_PATH_ORIG"
|
|
||||||
git add "$TARGET_FILE_PATH_ORIG"
|
|
||||||
if ! git diff --cached --quiet --exit-code; then
|
|
||||||
git commit -m "Add new file: $FILE_FULL_NAME to archive" "$TARGET_FILE_PATH_ORIG" || {
|
|
||||||
log_message " ERROR: Commit for '$FILE_FULL_NAME' failed. (Possible pre-commit hook issue?)"
|
|
||||||
git restore --staged "$TARGET_FILE_PATH_ORIG"; git restore "$TARGET_FILE_PATH_ORIG"
|
|
||||||
}
|
|
||||||
if [ $? -eq 0 ]; then log_message " Successfully committed '$FILE_FULL_NAME'."; fi
|
|
||||||
else log_message " WARNING: No changes staged for '$FILE_FULL_NAME'. Skipping commit."; fi
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
log_message "--- Summary ---"
|
|
||||||
log_message "Total files processed from '$NEW_FILES_DIR'."
|
|
||||||
log_message "Files committed: $COMMITTED_COUNT"
|
|
||||||
log_message "Files skipped: $SKIP_COUNT"
|
|
||||||
log_message "No new files committed. Skipping push." # Da kein Remote genutzt wird
|
|
||||||
log_message "--- Interactive Archive Sync Script Finished ---"
|
|
||||||
exit 0
|
|
||||||
29
pre-commit
Normal file → Executable file
29
pre-commit
Normal file → Executable file
@ -1,25 +1,18 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
LOGFILE="archiv.log"
|
||||||
|
|
||||||
ARCHIVE_DIR="Archiv"
|
log() {
|
||||||
|
local TIMESTAMP
|
||||||
|
TIMESTAMP=$(date '+%Y-%m-%d %H:%M:%S')
|
||||||
|
echo "[$TIMESTAMP] $1" >> "$LOGFILE"
|
||||||
|
}
|
||||||
|
|
||||||
git diff --cached --name-only | while read FILE
|
# Überprüfe auf Löschungen oder Modifikationen in Archiv
|
||||||
do
|
problem=$(git diff --cached --name-status | grep -E '^[MD]\s+Archiv/' || true)
|
||||||
if [[ "$FILE" =~ ^"$ARCHIVE_DIR"/ ]]; then
|
|
||||||
if git rev-parse --verify --quiet HEAD:"$FILE" > /dev/null; then
|
|
||||||
echo ""
|
|
||||||
echo "----------------------------------------------------------------------"
|
|
||||||
echo "FEHLER: Die Datei '$FILE' existiert bereits im Git-Archiv."
|
|
||||||
echo "Es ist nicht erlaubt, vorhandene Dateien im '$ARCHIVE_DIR/'-Verzeichnis zu ändern oder neu hinzuzufügen."
|
|
||||||
echo "Die Änderungen an '$FILE' werden nun verworfen."
|
|
||||||
echo "----------------------------------------------------------------------"
|
|
||||||
echo ""
|
|
||||||
|
|
||||||
git restore --staged "$FILE"
|
|
||||||
git restore "$FILE"
|
|
||||||
|
|
||||||
|
if [[ -n "$problem" ]]; then
|
||||||
|
log "⛔️ Commit blockiert: Änderung oder Löschung in Archiv: $problem"
|
||||||
|
echo "⛔️ Fehler: Dateien im Archiv dürfen nicht gelöscht oder verändert werden!"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
exit 0
|
|
||||||
37
restore-archiv.sh
Executable file
37
restore-archiv.sh
Executable file
@ -0,0 +1,37 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
cd "$(dirname "$0")"
|
||||||
|
|
||||||
|
LOGFILE="archiv.log"
|
||||||
|
|
||||||
|
log() {
|
||||||
|
local TIMESTAMP
|
||||||
|
TIMESTAMP=$(date '+%Y-%m-%d %H:%M:%S')
|
||||||
|
echo "[$TIMESTAMP] $1" | tee -a "$LOGFILE"
|
||||||
|
}
|
||||||
|
|
||||||
|
log "🔄 Starte Wiederherstellung von Archiv-Dateien..."
|
||||||
|
|
||||||
|
# Alle geänderten oder gelöschten Dateien (im Arbeitsverzeichnis oder Index)
|
||||||
|
changed_files=$(git diff --name-only Archiv)
|
||||||
|
staged_files=$(git diff --cached --name-only Archiv)
|
||||||
|
|
||||||
|
all_files=$(echo -e "$changed_files\n$staged_files" | sort -u)
|
||||||
|
|
||||||
|
if [[ -z "$all_files" ]]; then
|
||||||
|
log "ℹ️ Keine Änderungen an Archiv-Dateien gefunden."
|
||||||
|
else
|
||||||
|
for file in $all_files; do
|
||||||
|
if [[ ! -f "$file" ]]; then
|
||||||
|
# Datei wurde gelöscht -> Wiederherstellen
|
||||||
|
log "⏪ Stelle gelöschte Datei '$file' wieder her"
|
||||||
|
git restore --staged "$file"
|
||||||
|
git restore "$file"
|
||||||
|
else
|
||||||
|
# Datei existiert (modifiziert) -> zurücksetzen
|
||||||
|
log "⏪ Setze geänderte Datei '$file' zurück"
|
||||||
|
git restore --staged "$file"
|
||||||
|
git restore "$file"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
log "✅ Alle Änderungen an Archiv-Dateien wurden rückgängig gemacht."
|
||||||
|
fi
|
||||||
@ -1,45 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
## anpassen!!!!!! ##
|
|
||||||
GIT_REPO_PATH="/home/alf/MEINWORM"
|
|
||||||
NEW_FILES_DIR="Neu"
|
|
||||||
ARCHIVE_TARGET_DIR="Archiv"
|
|
||||||
LOG_FILE="/home/alf/archive_sync.log" # Pfad anpassen
|
|
||||||
|
|
||||||
## Ende des Anpassen-Blocks
|
|
||||||
|
|
||||||
log_message() { echo "[$(date +"%Y-%m-%d %H:%M:%S")] $1" | tee -a "$LOG_FILE"; }
|
|
||||||
|
|
||||||
log_message "--- Archive Sync Script Started ---"
|
|
||||||
cd "$GIT_REPO_PATH" || { log_message "ERROR: Could not change to Git repository directory. Exiting."; exit 1; }
|
|
||||||
mkdir -p "$ARCHIVE_TARGET_DIR"
|
|
||||||
|
|
||||||
find "$NEW_FILES_DIR" -type f | while read FILE_PATH_IN_NEW
|
|
||||||
do
|
|
||||||
FILE_FULL_NAME=$(basename "$FILE_PATH_IN_NEW")
|
|
||||||
TARGET_FILE_PATH="$ARCHIVE_TARGET_DIR/$FILE_FULL_NAME"
|
|
||||||
|
|
||||||
if git ls-files --error-unmatch -- "$TARGET_FILE_PATH" &>/dev/null; then
|
|
||||||
log_message " File '$FILE_FULL_NAME' already exists in '$ARCHIVE_TARGET_DIR/'. Skipping."
|
|
||||||
else
|
|
||||||
log_message " File '$FILE_FULL_NAME' is new to '$ARCHIVE_TARGET_DIR/'. Adding..."
|
|
||||||
cp "$FILE_PATH_IN_NEW" "$TARGET_FILE_PATH"
|
|
||||||
git add "$TARGET_FILE_PATH"
|
|
||||||
if ! git diff --cached --quiet --exit-code; then
|
|
||||||
git commit -m "Add new file: $FILE_FULL_NAME to archive" "$TARGET_FILE_PATH" || {
|
|
||||||
log_message " WARNING: Commit for '$FILE_FULL_NAME' failed. (Pre-commit hook active?)"
|
|
||||||
git restore --staged "$TARGET_FILE_PATH"
|
|
||||||
git restore "$TARGET_FILE_PATH"
|
|
||||||
}
|
|
||||||
if [ $? -eq 0 ]; then
|
|
||||||
log_message " Successfully committed '$FILE_FULL_NAME'."
|
|
||||||
# rm "$FILE_PATH_IN_NEW" # Optional: Originaldatei aus Neu/ löschen
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
log_message " No changes staged for $FILE_FULL_NAME. Skipping commit for this file."
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
log_message "No new files committed. Skipping push." # Da kein Remote genutzt wird
|
|
||||||
log_message "--- Archive Sync Script Finished ---"
|
|
||||||
exit 0
|
|
||||||
Reference in New Issue
Block a user