From de618ae39c7d43c226d0148bc36eb050af03bf11 Mon Sep 17 00:00:00 2001 From: Jephte Clain Date: Mon, 23 Mar 2015 07:40:48 +0400 Subject: [PATCH] =?UTF-8?q?possibilit=C3=A9=20de=20ne=20pas=20supprimer=20?= =?UTF-8?q?une=20feature=20branch=20apr=C3=A8s=20son=20int=C3=A9gration?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pdev | 25 +++++++++++++++++-------- 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/pdev b/pdev index 9cb6af2..95bfd9b 100755 --- a/pdev +++ b/pdev @@ -48,9 +48,14 @@ OPTIONS activée si la variable UTOOLS_VCS_OFFLINE est définie. --online Annuler l'effet de la variable UTOOLS_VCS_OFFLINE: forcer le mode online + -m, --merge Si la branche actuelle est une feature branch, la merger dans develop puis la supprimer. Puis basculer sur la branche develop. + -k, --keep + Avec l'option -m, ne pas supprimer une feature branch après l'avoir + fusionnée dans develop. + -l, --log -d, --diff Afficher les modifications entre deux branches. L'option --log affiche @@ -65,6 +70,7 @@ OPTIONS projdir= origin=origin action=branch +merge_delete=1 log= diff= parse_opts "${PRETTYOPTS[@]}" \ @@ -74,6 +80,7 @@ parse_opts "${PRETTYOPTS[@]}" \ -o,--offline UTOOLS_VCS_OFFLINE=1 \ --online UTOOLS_VCS_OFFLINE= \ -m,--merge action=merge \ + -k,--keep merge_delete= \ -l,--log '$action=diff; log=1' \ -d,--diff '$action=diff; diff=1' \ @ args -- "$@" && set -- "${args[@]}" || die "$args" @@ -170,18 +177,20 @@ dans la branche de destination ${COULEUR_BLEUE}develop${COULEUR_NORMALE}" git checkout develop git merge "$feature" -m "Intégration de la feature branch $feature" --no-ff || die - estepi "Suppression de la branche locale" - git branch -d "$feature" + if [ -n "$merge_delete" ]; then + estepi "Suppression de la branche locale" + git branch -D "$feature" - if git_have_remote "$origin"; then - if [ -z "$UTOOLS_VCS_OFFLINE" ]; then - estepi "Suppression de la branche distante" - git push "$origin" ":$feature" - else - eimportant "\ + if git_have_remote "$origin"; then + if [ -z "$UTOOLS_VCS_OFFLINE" ]; then + estepi "Suppression de la branche distante" + git push "$origin" ":$feature" + else + eimportant "\ La branche $feature n'a plus lieu d'être, mais la configuration actuelle interdit de la supprimer dans le dépôt distant. Veuillez le faire manuellement avec la commande suivante: $(quoted_args git push "$origin" ":$feature")" + fi fi fi