From 5c5d8784a4185af45813a0985952487b53fec81f Mon Sep 17 00:00:00 2001 From: Jephte Clain Date: Wed, 12 Mar 2025 17:21:41 +0400 Subject: [PATCH] pdev: option --force-merge --- bin/pdev | 20 +++++++++++--------- bin/prel | 2 +- 2 files changed, 12 insertions(+), 10 deletions(-) diff --git a/bin/pdev b/bin/pdev index b4ab89c..03e827c 100755 --- a/bin/pdev +++ b/bin/pdev @@ -198,6 +198,8 @@ ne pas supprimer la branche après la fusion dans la destination" --delete Delete=1 "++\ supprimer la branche après la fusion dans la destination. c'est l'option par défaut" + -f,--force-merge ForceMerge=1 "++\ +forcer la fusion pour une branche qui devrait être traitée par prel" -a:,--after-merge AfterMerge= "\ évaluer le script spécifié après une fusion *réussie*" ) @@ -220,15 +222,15 @@ show) ;; merge) ShouldDelete=1 - case "$SrcType" in - develop|release|hotfix) - die "$SrcBranch: cette branche doit être fusionnée dans $DestBranch avec prel" - ;; - *) - # n'autoriser la suppression que pour feature - [ "$SrcType" == feature ] || ShouldDelete= - ;; - esac + no_merge_msg="$SrcBranch: cette branche doit être fusionnée dans $DestBranch avec prel" + if [ "$SrcType" == develop ]; then + [ -z "$ForceMerge" ] && die "$no_merge_msg" + [ -n "$AfterMerge" ] || setx AfterMerge=qvals git checkout -q "$SrcBranch" + elif [ "$SrcType" == release -o "$SrcType" == hotfix ]; then + die "$no_merge_msg" + fi + # n'autoriser la suppression que pour feature + [ "$SrcType" == feature ] || ShouldDelete= [ -z "$ShouldDelete" ] && Delete= [ -z "$_Fake" ] && git_ensure_cleancheckout if array_contains LocalBranches "$SrcBranch"; then diff --git a/bin/prel b/bin/prel index 5d2b5bf..e1af6eb 100755 --- a/bin/prel +++ b/bin/prel @@ -241,7 +241,7 @@ c'est l'option par défaut" spécifier la version de la release à créer" -C,--current-version CurrentVersion=1 "++\ si aucune version n'est spécifiée, prendre la version présente dans le fichier VERSION.txt" - -f,--force-create ForceCreate= "\ + -f,--force-create ForceCreate=1 "\ forcer la création de la release même si le tag correspond à la version existe déjà" ) parse_args "$@"; set -- "${args[@]}"