support de -v en mode auto

This commit is contained in:
Jephté Clain 2015-03-23 06:42:51 +04:00
parent 4b64305dbb
commit f98c977cde
1 changed files with 33 additions and 27 deletions

View File

@ -134,47 +134,53 @@ if [ "$action" == update ]; then
setx version=pver -g ""
if [ "$incversion" == auto ]; then
# s'il existe déjà une branche de release, prendre celle-là
setx -a branches=list_release_branches
if [ ${#branches[*]} -eq 0 ]; then
# en l'absence de branche de release, proposer d'en créer une
incversion=menu
elif [ ${#branches[*]} -eq 1 ]; then
# s'il n'y en a qu'une, la prendre
release="${branches[0]}"
if [ ${#pver_opts[*]} -gt 0 ]; then
# des options ont été spécifiées, les honorer
setx specv=pver -s "$version" "${pver_opts[@]}"
release="release-$specv"
else
# sinon, donner le choix dans un menu
array_add branches master
default_branch="$branch"
array_contains branches "$default_branch" || default_branch="${branches[0]}"
simple_menu release branches -d "$default_branch" \
-t "Basculer vers une release branch" \
-m "Veuillez choisir la branche vers laquelle basculer"
# sinon, prendre une décision en fonction des branches de release
# qui existent déjà
setx -a branches=list_release_branches
if [ ${#branches[*]} -eq 0 ]; then
# en l'absence de branche de release, proposer d'en créer une
incversion=menu
elif [ ${#branches[*]} -eq 1 ]; then
# s'il n'y en a qu'une, la prendre
release="${branches[0]}"
else
# sinon, donner le choix dans un menu
array_add branches master
default_branch="$branch"
array_contains branches "$default_branch" || default_branch="${branches[0]}"
simple_menu release branches -d "$default_branch" \
-t "Basculer vers une release branch" \
-m "Veuillez choisir la branche vers laquelle basculer"
fi
fi
fi
case "$incversion" in
menu)
setx major=pver -s "$version" -ux "${pver_opts[@]}"
setx minor=pver -s "$version" -uz "${pver_opts[@]}"
setx patchlevel=pver -g "$version" -up "${pver_opts[@]}"
release="release-$minor"
branches=("release-$major" "release-$minor" "release-$patchlevel" master)
setx majorv=pver -s "$version" -ux "${pver_opts[@]}"
setx minorv=pver -s "$version" -uz "${pver_opts[@]}"
setx patchlevelv=pver -g "$version" -up "${pver_opts[@]}"
release="release-$minorv"
branches=("release-$majorv" "release-$minorv" "release-$patchlevelv" master)
simple_menu release branches \
-t "Basculer vers une nouvelle release branch" \
-m "Veuillez choisir la branche à créer"
;;
major)
setx major=pver -s "$version" -ux "${pver_opts[@]}"
release="release-$major"
setx majorv=pver -s "$version" -ux "${pver_opts[@]}"
release="release-$majorv"
;;
minor)
setx minor=pver -s "$version" -uz "${pver_opts[@]}"
release="release-$minor"
setx minorv=pver -s "$version" -uz "${pver_opts[@]}"
release="release-$minorv"
;;
patchlevel)
setx patchlevel=pver -g "$version" -up "${pver_opts[@]}"
release="release-$patchlevel"
setx patchlevelv=pver -g "$version" -up "${pver_opts[@]}"
release="release-$patchlevelv"
;;
esac