l'option -c ne fait que le basculement ou la création. Le choix de la version se fera avec -u

This commit is contained in:
Jephte CLAIN 2015-03-13 07:11:05 +04:00
parent c5ba03b669
commit bbbe6c4600
1 changed files with 25 additions and 15 deletions

View File

@ -13,15 +13,14 @@ function display_help() {
uecho "$scriptname: basculer sur une branche de release
USAGE
$scriptname -c [RELEASE [SOURCE]]
$scriptname -u [SOURCE]
$scriptname -c [RELEASE [SOURCE]]
$scriptname -m|-l|-d [RELEASE]
- Vérifier s'il n'y a pas de modifications locales. Sinon, proposer de faire un
commit ou un stash.
- Avec l'option -c, s'il existe une branche de release, proposer de basculer
vers elle ou sur la branche master. Sinon, proposer un choix de branche de
release à créer.
vers elle ou sur la branche master. Sinon, basculer sur la branche master.
- Avec l'option -u, proposer ou fixer une branche de release à créer. Si elle
existe déjà, basculer vers elle. Sinon, la créer en la basant sur SOURCE, qui
vaut par défaut develop
@ -44,7 +43,7 @@ OPTIONS
-c, --checkout
Basculer vers une branche de release existante. C'est l'option par
défaut. Si aucune branche de release n'existe, assumer -u --menu
défaut. Si aucune branche de release n'existe, basculer vers master
-u, --update
Préparer une nouvelle release. Utiliser une des options -x, -z ou -p
pour spécifier le type de release à préparer. Si la branche qui serait
@ -74,6 +73,9 @@ OPTIONS
Si la branche actuelle est une branche de release, ou s'il existe une
branche de release, la merger dans master, puis dans develop, puis la
supprimer. Puis basculer sur la branche master.
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.
-l, --log
Afficher les modifications actuellement effectuée dans la branche de
release par rapport à develop.
@ -101,7 +103,7 @@ parse_opts "${PRETTYOPTS[@]}" \
-x,--major '$action=update; incversion=major' \
-z,--minor '$action=update; incversion=minor' \
-p,--patchlevel '$action=update; incversion=patchlevel' \
-v: pver_opts \
-v: '$action=update; add@ pver_opts' \
-m,--merge action=merge \
-l,--log '$action=diff; log=1' \
-d,--diff '$action=diff; diff=1' \
@ -115,6 +117,18 @@ git_ensure_gitvcs
setx branch=git_get_branch
if [ "$action" == branch ]; then
:
#setx major=pver -g "" -ux
#setx minor=pver -g "" -uz
#setx patchlevel=pver -g "" -up
#release="release-$minor"
#branches=("release-$major" "release-$minor" "release-$patchlevel" master)
#simple_menu release branches \
# -t "Basculer vers une nouvelle release branch" \
# -m "Veuillez choisir la branche à créer"
fi
if [ "$action" == checkout ]; then
release="$1"
source="${2:-develop}"
@ -123,17 +137,13 @@ if [ "$action" == checkout ]; then
setx -a branches=list_release_branches
if [ ${#branches[*]} -eq 0 ]; then
# En l'absence de release branch, proposer un choix de nouvelle
# branche à créer
setx major=pver -g "" -ux
setx minor=pver -g "" -uz
setx patchlevel=pver -g "" -up
release="release-$minor"
branches=("release-$major" "release-$minor" "release-$patchlevel" master)
simple_menu release branches \
-t "Basculer vers une nouvelle release branch" \
-m "Veuillez choisir la branche à créer"
# en l'absence de branche de release, basculer sur master
release=master
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]}"