support du mode offline

This commit is contained in:
Jephté Clain 2015-03-09 16:06:05 +04:00
parent 49ff5cb4b4
commit 5e15a74cc0
1 changed files with 23 additions and 4 deletions

27
pdev
View File

@ -28,6 +28,13 @@ OPTIONS
est modifié avant de lancer les commandes git.
-O, --origin ORIGIN
Spécifier le nom de l'origine. Par défaut, utiliser 'origin'
-o, --offline
En cas de création d'une branche, ne pas pousser vers l'origine et ne
pas tenter le cas échéant de traquer la branche dans l'origine. Cette
option est automatiquement 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.
@ -42,6 +49,7 @@ OPTIONS
develop. S'il s'agit de la branche develop, elle est comparée à master."
}
export UTOOLS_VCS_OFFLINE
projdir=
origin=origin
action=branch
@ -51,6 +59,8 @@ parse_opts "${PRETTYOPTS[@]}" \
--help '$exit_with display_help' \
-C:,--projdir: projdir= \
-O:,--origin: origin= \
-o,--offline UTOOLS_VCS_OFFLINE=1 \
--online UTOOLS_VCS_OFFLINE= \
-m,--merge action=merge \
-l,--log '$action=diff; log=1' \
-d,--diff '$action=diff; diff=1' \
@ -91,7 +101,9 @@ if [ "$action" == branch ]; then
# On est peut-être déjà sur la bonne branche
if git_is_branch "$feature"; then
git_track_branch "$feature" "$origin"
if [ -z "$UTOOLS_VCS_OFFLINE" ]; then
git_track_branch "$feature" "$origin"
fi
exit 0
fi
@ -149,9 +161,16 @@ dans la branche de destination ${COULEUR_BLEUE}develop${COULEUR_NORMALE}"
estepi "Suppression de la branche locale"
git branch -d "$feature"
if git_have_remote origin; then
estepi "Suppression de la branche distante"
git push origin ":$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 "\
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
elif [ "$action" == diff ]; then