diff --git a/bin/pdev b/bin/pdev index 8d1b4d4..c077954 100755 --- a/bin/pdev +++ b/bin/pdev @@ -76,13 +76,23 @@ EOF fi EOF + [ -n "$Delete" -o "$ForbidDelete" ] && Deleted=1 || Deleted= + [ -n "$Push" -o "$ForbidPush" ] && Pushed=1 || Pushed= if [ -n "$_NoRunScript" ]; then einfo "Veuillez consulter le script $script pour le détail des opérations à effectuer" elif ! "$script" merge ${Delete:+delete} ${Push:+push}; then eimportant "Veuillez consulter le script $script pour le détail des opérations qui n'ont pas pu êtres effectuées" die - elif [ -z "$_KeepScript" ]; then - rm "$script" + elif [ -n "$Deleted" -n "$Pushed" ]; then + [ -n "$_KeepScript" ] || rm "$script" + else + local cmd + [ -n "$Deleted" ] || cmd="$cmd + ./$script delete" + [ -n "$Pushed" ] || cmd="$cmd + ./$script push" + einfo "Le script $script a été lancé avec les arguments 'merge${Delete:+ delete}${Push:+ push}' +Veuillez le consulter pour le détail des autres opérations à effectuer$cmd" fi } @@ -99,8 +109,8 @@ _NoRunScript= action=merge TechMerge= SquashMsg= -Push=1 -Delete=1 +[ -z "$PMAN_NO_PUSH" ] && Push=1 || Push= +[ -z "$PMAN_NO_DELETE" ] && Delete=1 || Delete= args=( "fusionner la branche source dans la branche destination correspondante" " [source]" @@ -145,11 +155,13 @@ load_branches all load_config "$MYNAME" load_branches current "$1" +ForbidPush= [ -n "$Origin" ] || Origin=origin if ! git_have_remote "$Origin" && [ -n "$Push" ]; then ewarn "L'option --no-push a été forcée puisque ce dépôt n'a pas d'origine" - Push= + ForbidPush=1 fi +[ -n "$ForbidPush" ] && Push= # puis faire l'action que l'on nous demande case "$action" in @@ -159,15 +171,17 @@ show) show_action "$@" ;; merge) + ForbidDelete= 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 ] || Delete= + [ "$SrcType" == feature ] || ForbidDelete=1 ;; esac + [ -n "$ForbidDelete" ] && Delete= git_ensure_cleancheckout if ! array_contains LocalBranches "$SrcBranch"; then # si la branche source n'existe pas, la créer diff --git a/bin/prel b/bin/prel index 0aa99a2..40ff75f 100755 --- a/bin/prel +++ b/bin/prel @@ -109,13 +109,23 @@ EOF fi EOF + [ -n "$Merge" ] && Merged=1 || Merged= + [ -n "$Push" -o "$ForbidPush" ] && Pushed=1 || Pushed= if [ -n "$_NoRunScript" ]; then einfo "Veuillez consulter le script $script pour le détail des opérations à effectuer" elif ! "$script" create ${Merge:+merge} ${Push:+push}; then eimportant "Veuillez consulter le script $script pour le détail des opérations qui n'ont pas pu êtres effectuées" die - elif [ -z "$_KeepScript" ]; then - rm "$script" + elif [ -n "$Merged" -a -n "$Pushd" ]; then + [ -n "$_KeepScript" ] || rm "$script" + else + local cmd + [ -n "$Merged" ] || cmd="$cmd + ./$script merge" + [ -n "$Pushd" ] || cmd="$cmd + ./$script push" + einfo "Le script $script a été lancé avec les arguments 'create${Merge:+ merge}${Push:+ push}' +Veuillez le consulter pour le détail des autres opérations à effectuer$cmd" fi } @@ -145,8 +155,8 @@ ConfigFile= _KeepScript= _NoRunScript= action=release -Merge=1 -Push=1 +[ -z "$PMAN_NO_MERGE" ] && Merge=1 || Merge= +[ -z "$PMAN_NO_PUSH" ] && Push=1 || Push= Version= CurrentVersion= ForceCreate= @@ -199,11 +209,13 @@ if [ -n "$Merge" -a -n "$NOAUTO" ]; then fi [ -z "$Merge" ] && Push= +ForbidPush= [ -n "$Origin" ] || Origin=origin if ! git_have_remote "$Origin" && [ -n "$Push" ]; then ewarn "L'option --no-push a été forcée puisque ce dépôt n'a pas d'origine" - Push= + ForbidPush=1 fi +[ -n "$ForbidPush" ] && Push= # puis faire l'action que l'on nous demande case "$action" in