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