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