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
Si la branche actuelle est une feature branch, la merger dans 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
Avec l'option -m, ne pas supprimer une feature branch après l'avoir
fusionnée dans develop.
-z, --delete
--delete
Supprimer une feature branch, à condition qu'elle aie déjà été
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
dans la branche develop
@ -76,6 +79,7 @@ OPTIONS
projdir=
origin=origin
action=branch
merge_log=
merge_delete=1
force_delete=
log=
@ -87,9 +91,10 @@ parse_opts "${PRETTYOPTS[@]}" \
-o,--offline UTOOLS_VCS_OFFLINE=1 \
--online UTOOLS_VCS_OFFLINE= \
-m,--merge action=merge \
--merge-log merge_log=1 \
-k,--keep merge_delete= \
-z,--delete action=delete \
-Z,--force-delete '$action=delete; force_delete=1' \
--delete action=delete \
--force-delete '$action=delete; force_delete=1' \
-l,--log '$action=diff; log=1' \
-d,--diff '$action=diff; diff=1' \
@ 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}"
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 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
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
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.
-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
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
modifications de la branche develop dans la branche master, sans
préparer de branche de release au préalable.
-z, --delete
--delete
Supprimer une branche de release, à condition qu'elle aie déjà été
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é
fusionnée dans la branche master
@ -116,6 +121,7 @@ update=
incversion=
pver_opts=()
write=1
edit_changes=
merge=
force_delete=
log=
@ -135,9 +141,10 @@ parse_opts "${PRETTYOPTS[@]}" \
-v: '$update=1; add@ pver_opts' \
-w,--write write=1 \
-n,--no-write write= \
-e,--edit edit_changes=1 \
-m,--merge merge=1 \
-z,--delete action=delete \
-Z,--force-delete '$action=delete; force_delete=1' \
--delete action=delete \
--force-delete '$action=delete; force_delete=1' \
-l,--log '$action=diff; log=1' \
-d,--diff '$action=diff; diff=1' \
@ 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"
git checkout "$release"; r=$?
if [ "$r" -eq 0 -a -n "$newver" -a -n "$write" ]; then
if pver -uv "$newver"; then
git add -A
git commit -m "Init version $newver"
if [ -z "$newver" ]; then
# le cas échéant, tenter de calculer la version en fonction de la release
is_release_branch "$release" && newver="${release#release-}"
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
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
if [ "$r" -eq 0 ]; then
@ -345,7 +382,7 @@ if [ "$action" == merge ]; then
if [ -n "$newver" ]; then
estepn "Création du tag $newver"
git tag "$newver" || die
git tag --force "$newver" || die
fi
if [ "$release" != develop ]; then