Intégration de la branche ptools

This commit is contained in:
Jephté Clain 2015-04-01 10:14:40 +04:00
commit 3f1dc3e6f5
2 changed files with 65 additions and 14 deletions

24
pdev
View File

@ -52,13 +52,16 @@ OPTIONS
-m, --merge -m, --merge
Si la branche actuelle est une feature branch, la merger dans develop Si la branche actuelle est une feature branch, la merger dans develop
puis la supprimer. Puis basculer sur la branche develop. puis la supprimer. Puis basculer sur la branche develop.
--merge-log
Ajouter un résumé des modifications sur la feature branch dans le
message du merge
-k, --keep -k, --keep
Avec l'option -m, ne pas supprimer une feature branch après l'avoir Avec l'option -m, ne pas supprimer une feature branch après l'avoir
fusionnée dans develop. fusionnée dans develop.
-z, --delete --delete
Supprimer une feature branch, à condition qu'elle aie déjà été Supprimer une feature branch, à condition qu'elle aie déjà été
entièrement fusionnée dans la branch develop entièrement fusionnée dans la branch develop
-Z, --force-delete --force-delete
Supprimer une feature branch, même si elle n'a pas encore été fusionnée Supprimer une feature branch, même si elle n'a pas encore été fusionnée
dans la branche develop dans la branche develop
@ -76,6 +79,7 @@ OPTIONS
projdir= projdir=
origin=origin origin=origin
action=branch action=branch
merge_log=
merge_delete=1 merge_delete=1
force_delete= force_delete=
log= log=
@ -87,9 +91,10 @@ parse_opts "${PRETTYOPTS[@]}" \
-o,--offline UTOOLS_VCS_OFFLINE=1 \ -o,--offline UTOOLS_VCS_OFFLINE=1 \
--online UTOOLS_VCS_OFFLINE= \ --online UTOOLS_VCS_OFFLINE= \
-m,--merge action=merge \ -m,--merge action=merge \
--merge-log merge_log=1 \
-k,--keep merge_delete= \ -k,--keep merge_delete= \
-z,--delete action=delete \ --delete action=delete \
-Z,--force-delete '$action=delete; force_delete=1' \ --force-delete '$action=delete; force_delete=1' \
-l,--log '$action=diff; log=1' \ -l,--log '$action=diff; log=1' \
-d,--diff '$action=diff; diff=1' \ -d,--diff '$action=diff; diff=1' \
@ args -- "$@" && set -- "${args[@]}" || die "$args" @ args -- "$@" && set -- "${args[@]}" || die "$args"
@ -189,8 +194,17 @@ if [ "$action" == merge ]; then
estepn "Intégration ${COULEUR_VERTE}$feature${COULEUR_NORMALE} --> ${COULEUR_BLEUE}develop${COULEUR_NORMALE}" estepn "Intégration ${COULEUR_VERTE}$feature${COULEUR_NORMALE} --> ${COULEUR_BLEUE}develop${COULEUR_NORMALE}"
ask_yesno "Voulez-vous continuer?" O || die ask_yesno "Voulez-vous continuer?" O || die
# calculer la suite des modifications
mergemsg="Intégration de la branche $feature"
if [ -n "$merge_log" ]; then
setx mergebase=git merge-base develop "$feature"
setx modifs=git log --oneline "$mergebase..$feature"
[ -n "$modifs" ] && mergemsg="$mergemsg
$modifs"
fi
git checkout develop || die git checkout develop || die
git merge "$feature" -m "Intégration de la branche $feature" --no-ff || die git merge "$feature" -m "$mergemsg" --no-ff || die
# 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

55
prel
View File

@ -85,6 +85,11 @@ OPTIONS
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 par manière particulière.
-e, --edit
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
possibilité de corriger la liste des modifications avant leur
enregistrement définitif.
-m, --merge -m, --merge
Si la branche actuelle est une branche de release, ou s'il existe une Si la branche actuelle est une branche de release, ou s'il existe une
@ -93,10 +98,10 @@ OPTIONS
S'il n'existe pas de branche de release, proposer de fusionner les S'il n'existe pas de branche de release, proposer de fusionner les
modifications de la branche develop dans la branche master, sans modifications de la branche develop dans la branche master, sans
préparer de branche de release au préalable. préparer de branche de release au préalable.
-z, --delete --delete
Supprimer une branche de release, à condition qu'elle aie déjà été Supprimer une branche de release, à condition qu'elle aie déjà été
entièrement fusionnée dans la branch master entièrement fusionnée dans la branch master
-Z, --force-delete --force-delete
Supprimer une branche de release, même si elle n'a pas encore été Supprimer une branche de release, même si elle n'a pas encore été
fusionnée dans la branche master fusionnée dans la branche master
@ -116,6 +121,7 @@ update=
incversion= incversion=
pver_opts=() pver_opts=()
write=1 write=1
edit_changes=
merge= merge=
force_delete= force_delete=
log= log=
@ -135,9 +141,10 @@ parse_opts "${PRETTYOPTS[@]}" \
-v: '$update=1; add@ pver_opts' \ -v: '$update=1; add@ pver_opts' \
-w,--write write=1 \ -w,--write write=1 \
-n,--no-write write= \ -n,--no-write write= \
-e,--edit edit_changes=1 \
-m,--merge merge=1 \ -m,--merge merge=1 \
-z,--delete action=delete \ --delete action=delete \
-Z,--force-delete '$action=delete; force_delete=1' \ --force-delete '$action=delete; force_delete=1' \
-l,--log '$action=diff; log=1' \ -l,--log '$action=diff; log=1' \
-d,--diff '$action=diff; diff=1' \ -d,--diff '$action=diff; diff=1' \
@ args -- "$@" && set -- "${args[@]}" || die "$args" @ args -- "$@" && set -- "${args[@]}" || die "$args"
@ -273,11 +280,41 @@ Vous allez créer la nouvelle branche de release ${COULEUR_VERTE}$release${COULE
[ $? -eq 2 ] && die "Impossible de créer la branche $release. Veuillez vérifier que la branche $source existe" [ $? -eq 2 ] && die "Impossible de créer la branche $release. Veuillez vérifier que la branche $source existe"
git checkout "$release"; r=$? git checkout "$release"; r=$?
if [ "$r" -eq 0 -a -n "$newver" -a -n "$write" ]; then if [ -z "$newver" ]; then
if pver -uv "$newver"; then # le cas échéant, tenter de calculer la version en fonction de la release
git add -A is_release_branch "$release" && newver="${release#release-}"
git commit -m "Init version $newver" fi
if [ "$r" -eq 0 -a -n "$write" ]; then
commitmsg="Init changelog"
if [ -n "$newver" ]; then
pver -uv "$newver" && commitmsg="Init changelog & version $newver"
fi fi
changelog="## Version $release du $(date +%d/%m/%Y-%H:%M)"
setx mergebase=git merge-base master "$release"
setxp modifs=git log --oneline "$mergebase..$release" // grep -v "Intégration de la branche release-"
[ -n "$modifs" ] && changelog="$changelog
$modifs"
ac_set_tmpfile tmpchanges
echo "$changelog" >>"$tmpchanges"
if [ -n "$edit_changes" ]; then
estep "Lancement d'un éditeur pour vérifier la liste des modifications"
"${EDITOR:-vi}" "$tmpchanges"
fi
if [ -f CHANGES.txt ]; then
echo >>"$tmpchanges"
cat CHANGES.txt >>"$tmpchanges"
fi
cat "$tmpchanges" >CHANGES.txt
ac_clean "$tmpchanges"
git add -A
git commit -m "$commitmsg"
fi fi
fi fi
if [ "$r" -eq 0 ]; then if [ "$r" -eq 0 ]; then
@ -345,7 +382,7 @@ if [ "$action" == merge ]; then
if [ -n "$newver" ]; then if [ -n "$newver" ]; then
estepn "Création du tag $newver" estepn "Création du tag $newver"
git tag "$newver" || die git tag --force "$newver" || die
fi fi
if [ "$release" != develop ]; then if [ "$release" != develop ]; then