"${RSYNC_OPTS[@]}" . "$1"
}
+if [ "$TAG_SUFFIX" = "" ]; then
+ echo "Kein Tag-Suffix angegeben — prüfe einheitliche Tags vor der Aktualisierung auf Remote-Stände..."
+
+ _common_suffixes=""
+ for i in grundlagen__docker $BRANCHES; do
+ declare -n _bref=$i
+ _suffixes=$(git tag -l "${_bref}--*" | sed "s|^${_bref}--||" | sort)
+ if [ -z "$_suffixes" ]; then
+ echo "Fehler: Branch '$_bref' hat keine Tags." >&2
+ echo " Alle Branches müssen einheitlich getagged sein, bevor auf Remote-Stände aktualisiert wird." >&2
+ exit 1
+ fi
+ if [ -z "$_common_suffixes" ]; then
+ _common_suffixes="$_suffixes"
+ else
+ _common_suffixes=$(comm -12 <(echo "$_common_suffixes") <(echo "$_suffixes"))
+ if [ -z "$_common_suffixes" ]; then
+ echo "Fehler: Branch '$_bref' hat kein gemeinsames Tag mit allen vorhergehenden Branches." >&2
+ echo " Alle Branches müssen einheitlich getagged sein, bevor auf Remote-Stände aktualisiert wird." >&2
+ exit 1
+ fi
+ fi
+ done
+ echo "Einheitliche Tags vorhanden: $(echo "$_common_suffixes" | tr '\n' ' ')"
+
+ echo "Aktualisiere alle Branches auf Remote-Stand..."
+ git fetch origin
+ for i in grundlagen__docker $BRANCHES; do
+ declare -n _bref=$i
+ git checkout "$_bref"
+ git reset --hard "origin/$_bref"
+ done
+ git checkout scripting
+fi
+
EXPECTED=$(mktemp)
trap 'rm -f "$EXPECTED"' EXIT