deploy: autoriser SOURCE dans la liste (poussée telle quelle, sans merge)

This commit is contained in:
2026-09-07 16:26:48 +02:00
parent b4164187d3
commit 210efa5994
2 changed files with 21 additions and 5 deletions
+11 -2
View File
@@ -40,10 +40,10 @@ git remote get-url "$REMOTE" >/dev/null 2>&1 || die "Remote inconnu : $REMOTE"
seen=""
for b in "${BRANCHES[@]}"; do
git show-ref --verify --quiet "refs/heads/$b" || die "Branche locale inconnue : $b"
[ "$b" != "$SOURCE" ] || die "'$SOURCE' est la branche de dev, pas une branche de déploiement."
case " $seen " in *" $b "*) die "Branche indiquée en double : $b" ;; esac
seen="$seen $b"
done
# '$SOURCE' est autorisée dans la liste : elle sera poussée telle quelle (pas de merge).
current=$(git branch --show-current)
[ "$current" = "$SOURCE" ] || die "Place-toi sur '$SOURCE' pour déployer (git switch $SOURCE)."
assert_clean_git_state
@@ -55,10 +55,15 @@ fi
# ---- Confirmation ----------------------------------------------------------
list="${BRANCHES[*]}"
# branches réellement fusionnées = toutes sauf SOURCE (qui est poussée telle quelle)
merge_list=""
for b in "${BRANCHES[@]}"; do [ "$b" != "$SOURCE" ] && merge_list="$merge_list $b"; done
merge_list="${merge_list# }"
if [ "$PUSH" = true ]; then push_line="OUI vers '$REMOTE' ($list, atomique)"; else push_line="NON (désactivé)"; fi
[ "$dirty" = 1 ] && commit_line="commit sur '$SOURCE' : \"$MSG\"" || commit_line="aucun commit (arbre propre)"
[ -n "$merge_list" ] && merge_line="merge '$SOURCE' → $merge_list" || merge_line="aucun merge (push direct)"
confirm " • $commit_line
• merge '$SOURCE' → $list
$merge_line
• push : $push_line"
# ---- Sauvegarde de l'état pour rollback ------------------------------------
@@ -96,6 +101,10 @@ if [ "$dirty" = 1 ]; then
fi
for b in "${BRANCHES[@]}"; do
if [ "$b" = "$SOURCE" ]; then
echo "✓ '$b' (dev) incluse au push telle quelle."
continue
fi
git switch -q "$b" || fail "Impossible de basculer sur '$b'."
git merge --no-edit -q "$SOURCE" || fail "Conflit de merge sur '$b'."
echo "✓ '$b' à jour depuis '$SOURCE'."