faire le push à la fin des opérations d'update et/ou de merge

This commit is contained in:
Jephté Clain 2015-09-08 09:47:26 +04:00
parent fe1d4dee11
commit 9d8a74791e
1 changed files with 31 additions and 4 deletions

35
prel
View File

@ -84,7 +84,7 @@ OPTIONS
-n, --no-write -n, --no-write
Si une nouvelle branche est créée avec -u, NE PAS mettre à jour le Si une nouvelle branche est créée avec -u, NE PAS mettre à jour le
fichier VERSION.txt avec pver. Utiliser cette option si la mise à jour fichier VERSION.txt avec pver. Utiliser cette option si la mise à jour
du numéro de version doit être faite par manière particulière. du numéro de version doit être faite d'une manière particulière.
-e, --edit -e, --edit
Editer le fichier CHANGES.txt autogénéré par -u -w Editer le fichier CHANGES.txt autogénéré par -u -w
Cette option est surtout utile si -m est utilisé avec -u, pour donner la Cette option est surtout utile si -m est utilisé avec -u, pour donner la
@ -173,6 +173,12 @@ fi
git_ensure_gitvcs git_ensure_gitvcs
push_branches=()
push_tags=()
push_deferred=
[ -n "$UTOOLS_VCS_OFFLINE" ] && push_deferred= || push_deferred=1
[ -n "$update" -a -n "$merge" ] && UTOOLS_VCS_OFFLINE=1
setx branch=git_get_branch setx branch=git_get_branch
if [ "$action" == update ]; then if [ "$action" == update ]; then
@ -331,12 +337,14 @@ $modifs"
git_fast_forward "$release" "" "$origin" git_fast_forward "$release" "" "$origin"
fi fi
set -- "$release"
if [ "$r" -eq 0 -a -n "$merge" ]; then if [ "$r" -eq 0 -a -n "$merge" ]; then
# mettre à jour la branche sur laquelle on se trouve # mettre à jour la branche sur laquelle on se trouve
setx branch=git_get_branch setx branch=git_get_branch
set -- "$release"
action=merge action=merge
elif [ "$r" -eq 0 ]; then
action=push
array_addu push_branches "$release"
else else
exit "$r" exit "$r"
fi fi
@ -391,11 +399,12 @@ if [ "$action" == merge ]; then
if [ -n "$newver" ]; then if [ -n "$newver" ]; then
estepn "Création du tag $newver" estepn "Création du tag $newver"
array_addu push_tags "$newver"
git tag --force "$newver" || die git tag --force "$newver" || die
if git_have_remote "$origin"; then if git_have_remote "$origin"; then
if [ -z "$UTOOLS_VCS_OFFLINE" ]; then if [ -z "$UTOOLS_VCS_OFFLINE" ]; then
git push "$origin" tag "$newver" git push "$origin" tag "$newver"
else elif [ -z "$push_deferred" ]; then
eimportant "Le tag $newver n'a pas été poussé vers l'origine. eimportant "Le tag $newver n'a pas été poussé vers l'origine.
Il faudra le faire manuellement avec la commande suivante: Il faudra le faire manuellement avec la commande suivante:
$(qvals git push "$origin" tag "$newver") $(qvals git push "$origin" tag "$newver")
@ -445,6 +454,24 @@ Veuillez le faire manuellement avec la commande suivante:
$(qvals git push "$origin" ":$release")" $(qvals git push "$origin" ":$release")"
fi fi
fi fi
action=push
array_addu push_branches master
array_addu push_branches develop
fi
if [ "$action" == push -a -n "$push_deferred" ]; then
if git_have_remote "$origin"; then
estepi "Mise à jour de l'origine"
for tag in "${push_tags[@]}"; do
git push "$origin" tag "$tag"
done
for branch in "${push_branches[@]}"; do
setx rbranch=git_get_branch_rbranch "$branch" "$origin"
rbranch="${rbranch#refs/remotes/$origin/}"
git push "$origin" "$branch:$rbranch"
done
fi
fi fi
if [ "$action" == summary ]; then if [ "$action" == summary ]; then