This commit is contained in:
Jephté Clain 2025-03-01 19:45:00 +04:00
parent c64b0801e2
commit 3b379eb799
4 changed files with 33 additions and 15 deletions

View File

@ -2,20 +2,13 @@
## configuration par défaut ## configuration par défaut
# branche upstream
UPSTREAM= UPSTREAM=
# branches de développement
DEVELOP=develop DEVELOP=develop
FEATURE=wip/ FEATURE=wip/
# branche de préparation de release
RELEASE=release- RELEASE=release-
# branche de release
MAIN=master MAIN=master
TAG_PREFIX= TAG_PREFIX=
TAG_SUFFIX= TAG_SUFFIX=
# branche de hotfix
HOTFIX=hotfix- HOTFIX=hotfix-
# branche de distribution
DIST= DIST=
# désactiver les releases automatiques?
NOAUTO= NOAUTO=

View File

@ -5,15 +5,23 @@
# les branches sont mergées dans cet ordre: # les branches sont mergées dans cet ordre:
# upstream --> develop --> [release -->] main --> dist # upstream --> develop --> [release -->] main --> dist
# feature _/ hotfix _/ # feature _/ hotfix _/
# branche upstream
UPSTREAM= UPSTREAM=
# branches de développement
DEVELOP=develop DEVELOP=develop
FEATURE=wip/ FEATURE=wip/
# branche de préparation de release
RELEASE=release- RELEASE=release-
# branche de release
MAIN=master MAIN=master
TAG_PREFIX= TAG_PREFIX=
TAG_SUFFIX= TAG_SUFFIX=
# branche de hotfix
HOTFIX=hotfix- HOTFIX=hotfix-
# branche de distribution
DIST= DIST=
# désactiver les releases automatiques?
NOAUTO= NOAUTO=
CONFIG_VARS=( CONFIG_VARS=(

View File

@ -134,7 +134,15 @@ SquashMsg=
[ -z "$PMAN_NO_DELETE" ] && Delete=1 || Delete= [ -z "$PMAN_NO_DELETE" ] && Delete=1 || Delete=
args=( args=(
"fusionner la branche source dans la branche destination correspondante" "fusionner la branche source dans la branche destination correspondante"
" [source]" " [source]
CONFIGURATION
Le fichier .pman.conf contient la configuration des branches.Les variables
supplémentaires suivantes peuvent être définies:
AFTER_MERGE_<srcType>
AFTER_DELETE_<srcType>
AFTER_PUSH_<destType>
xxxType valant UPSTREAM, DEVELOP, FEATURE, RELEASE, MAIN, HOTFIX, DIST"
-d:,--chdir:BASEDIR chdir= "répertoire dans lequel se placer avant de lancer les opérations" -d:,--chdir:BASEDIR chdir= "répertoire dans lequel se placer avant de lancer les opérations"
-O:,--origin Origin= "++\ -O:,--origin Origin= "++\
origine à partir de laquelle les branches distantes sont considérées" origine à partir de laquelle les branches distantes sont considérées"

View File

@ -42,6 +42,9 @@ function create_release_action() {
merge_hotfix_action "$@"; return $? merge_hotfix_action "$@"; return $?
fi fi
[ -n "$ManualRelease" ] && ewarn "\
L'option --no-merge a été forcée puisque ce dépôt ne supporte pas les releases automatiques"
if [ -z "$Version" -a -n "$CurrentVersion" -a -f VERSION.txt ]; then if [ -z "$Version" -a -n "$CurrentVersion" -a -f VERSION.txt ]; then
Version="$(<VERSION.txt)" Version="$(<VERSION.txt)"
Tag="$TAG_PREFIX$Version$TAG_SUFFIX" Tag="$TAG_PREFIX$Version$TAG_SUFFIX"
@ -182,7 +185,15 @@ CurrentVersion=
ForceCreate= ForceCreate=
args=( args=(
"faire une nouvelle release à partir de la branche source" "faire une nouvelle release à partir de la branche source"
" -v VERSION [source]" " -v VERSION [source]
CONFIGURATION
Le fichier .pman.conf contient la configuration des branches
Les variables supplémentaires suivantes peuvent être définies:
AFTER_CREATE_RELEASE
AFTER_MERGE_RELEASE
AFTER_PUSH_RELEASE"
-d:,--chdir:BASEDIR chdir= "répertoire dans lequel se placer avant de lancer les opérations" -d:,--chdir:BASEDIR chdir= "répertoire dans lequel se placer avant de lancer les opérations"
-O:,--origin Origin= "++\ -O:,--origin Origin= "++\
origine à partir de laquelle les branches distantes sont considérées" origine à partir de laquelle les branches distantes sont considérées"
@ -208,11 +219,11 @@ ne pas pousser les branches vers leur origine après la création de la release"
--push Push=1 "++\ --push Push=1 "++\
pousser les branches vers leur origine après la création de la release. pousser les branches vers leur origine après la création de la release.
c'est l'option par défaut" c'est l'option par défaut"
-v:,--version Version= "\ -v:,--version:VERSION Version= "\
spécifier la version de la release à créer" spécifier la version de la release à créer"
-C,--current-version CurrentVersion=1 "++\ -C,--current-version CurrentVersion=1 "++\
si aucune version n'est spécifiée, prendre la version présente dans le fichier VERSION.txt" si aucune version n'est spécifiée, prendre la version présente dans le fichier VERSION.txt"
-f:,--force-create ForceCreate= "\ -f,--force-create ForceCreate= "\
forcer la création de la release même si le tag correspond à la version existe déjà" forcer la création de la release même si le tag correspond à la version existe déjà"
) )
parse_args "$@"; set -- "${args[@]}" parse_args "$@"; set -- "${args[@]}"
@ -223,10 +234,8 @@ load_branches all
load_config "$MYNAME" load_config "$MYNAME"
load_branches current "$1"; shift load_branches current "$1"; shift
if [ -n "$Merge" -a -n "$NOAUTO" ]; then [ -n "$Merge" -a -n "$NOAUTO" ] && ManualRelease=1 || ManualRelease=
ewarn "L'option --no-merge a été forcée puisque ce dépôt ne supporte pas les releases automatiques" [ -n "$ManualRelease" ] && Merge=
Merge=
fi
[ -z "$Merge" ] && Push= [ -z "$Merge" ] && Push=
CantPush= CantPush=