ajout d'un changelog

possibilité d'éditer le changelog avec -e
supprimer les options courtes -z et -Z
This commit is contained in:
Jephté Clain 2015-04-01 10:14:31 +04:00
parent 2bc314c85a
commit ce050dbaae
1 changed files with 46 additions and 9 deletions

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 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
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