diff --git a/todo/prel b/todo/prel index bb68715..afef14d 100755 --- a/todo/prel +++ b/todo/prel @@ -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]}"