réorganiser les options

This commit is contained in:
Jephté Clain 2025-10-21 10:07:47 +04:00
parent 1f48bed796
commit 04631b8657

154
bin/ptool
View File

@ -230,113 +230,99 @@ if [ -n "$MERGE_DEST" ]; then
MergeDestDesc="$MergeDestDesc${COULEUR_NORMALE}" MergeDestDesc="$MergeDestDesc${COULEUR_NORMALE}"
fi fi
[ -n "$REF_UNIQUE" ] && if [ -n "$REF_UNIQUE" ]
purpose="gérer la branche $BranchDesc" || then purpose="gérer la branche $BranchDesc"
purpose="gérer les branches $BranchDesc" else purpose="gérer les branches $BranchDesc"
fi
usage="--checkout" usage="--checkout"
variables= variables=
args=(
-d:,--chdir:BASEDIR chdir= "\ chdir_def=(chdir= "répertoire dans lequel se placer avant de lancer les opérations")
répertoire dans lequel se placer avant de lancer les opérations" origin_def=(Origin= "++origine à partir de laquelle les branches distantes sont considérées")
-O:,--origin Origin= "++\ config_branch_def=(ConfigBranch= "++branche à partir de laquelle charger la configuration")
origine à partir de laquelle les branches distantes sont considérées" config_file_def=(ConfigFile= "++\
-B:,--config-branch ConfigBranch= "++\
branche à partir de laquelle charger la configuration"
-c:,--config-file:CONFIG ConfigFile= "++\
fichier de configuration des branches. le fichier .pman.conf dans le répertoire fichier de configuration des branches. le fichier .pman.conf dans le répertoire
du dépôt est utilisé par défaut s'il existe. cette option est prioritaire sur du dépôt est utilisé par défaut s'il existe. cette option est prioritaire sur
--config-branch" --config-branch")
--fake _Fake=1 "++option non documentée" fake_def=(_Fake=1 "++option non documentée")
--keep-script _KeepScript=1 "++option non documentée" keep_script_def=(_KeepScript=1 "++option non documentée")
--dump action=dump "++afficher les noms des branches" dump_action_def=(action=dump "++afficher les noms des branches")
) checkout_action_def=('$:' "++non applicable")
show_action_def=('$:' "++non applicable")
rebase_action_def=('$:' "++non applicable")
merge_action_def=('$:' "++non applicable")
tech_merge_def=('$:' "++non applicable")
squash_def=('$:' "++non applicable")
force_merge_def=('$:' "++non applicable")
no_push_def=('$:' "++non applicable")
push_def=('$:' "++non applicable")
no_delete_def=('$:' "++non applicable")
delete_def=('$:' "++non applicable")
after_merge_def=('$:' "++non applicable")
if [ -n "$RefBranch" -a -n "$REF_UNIQUE" ]; then if [ -n "$RefBranch" -a -n "$REF_UNIQUE" ]; then
args+=( checkout_action_def=(action=checkout "++\
--checkout action=checkout "++\
créer le cas échéant la branche $BranchDesc et basculer vers elle. créer le cas échéant la branche $BranchDesc et basculer vers elle.
c'est l'option par défaut" c'est l'option par défaut")
)
elif [ -z "$REF_UNIQUE" ]; then elif [ -z "$REF_UNIQUE" ]; then
args+=( checkout_action_def=(action=checkout "\
--checkout action=checkout "\
créer le cas échéant la branche $BranchDesc et basculer vers elle. créer le cas échéant la branche $BranchDesc et basculer vers elle.
c'est l'option par défaut" c'est l'option par défaut")
)
else else
args+=( checkout_action_def=(action=checkout "\
--checkout action=checkout "\
créer la branche $MergeDestDesc et basculer vers elle. créer la branche $MergeDestDesc et basculer vers elle.
c'est l'option par défaut" c'est l'option par défaut")
)
fi fi
if [ -n "$MERGE_SRC" -a -n "$MERGE_DEST" ]; then if [ -n "$MERGE_SRC" -a -n "$MERGE_DEST" ]; then
if [ -n "$REF_UNIQUE" ]; then if [ -n "$REF_UNIQUE" ]
usage="${usage}|--show|--merge" then usage="${usage}|--show|--merge"
else else usage="${usage} $REF_BRANCH
usage="${usage} $REF_BRANCH
--show|--merge" --show|--merge"
fi fi
[ "$REF_BRANCH" != "$MERGE_DEST" ] && bewareDir=" if [ "$REF_BRANCH" != "$MERGE_SRC" ]
NB: la fusion se fait dans le sens inverse" || bewareDir= then bewareDir="
variables="\ NB: la fusion se fait dans le sens inverse"
Les variables supplémentaires suivantes peuvent être définies: else bewareDir=
fi
variables="Les variables supplémentaires suivantes peuvent être définies:
BEFORE_MERGE_${MERGE_SRC} BEFORE_MERGE_${MERGE_SRC}
AFTER_MERGE_${MERGE_SRC}" AFTER_MERGE_${MERGE_SRC}"
args+=( show_action_def=('$action=show; inc@ ShowLevel' "\
-w,--show '$action=show; inc@ ShowLevel' "\ lister ce qui serait fusionné dans la branche $MergeDestDesc")
lister ce qui serait fusionné dans la branche $MergeDestDesc" rebase_action_def=('$:' "++non implémenté")
# -b,--rebase action=rebase "\ # rebase_action_def=(action=rebase "\
#lancer git rebase -i sur la branche $MergeSrcDesc. cela permet de réordonner #lancer git rebase -i sur la branche $MergeSrcDesc. cela permet de réordonner
#les commits pour nettoyer l'historique avant la fusion" #les commits pour nettoyer l'historique avant la fusion")
-m,--merge action=merge "\ merge_action_def=(action=merge "\
fusionner la branche $MergeSrcDesc dans la branche $MergeDestDesc$bewareDir" fusionner la branche $MergeSrcDesc dans la branche $MergeDestDesc$bewareDir")
--tech-merge TechMerge=1 "++option non documentée" tech_merge_def=(TechMerge=1 "++option non documentée")
-s:,--squash:COMMIT_MSG SquashMsg= "\ squash_def=(SquashMsg= "fusionner les modifications de la branche comme un seul commit")
fusionner les modifications de la branche comme un seul commit" [ -n "$PREL_MERGE" ] && force_merge_def=(ForceMerge=1 "++\
) forcer la fusion pour une branche qui devrait être traitée par prel")
no_push_def=(Push= "ne pas pousser les branches vers leur origine après la fusion")
if [ -n "$PREL_MERGE" ]; then push_def=(Push=1 "++\
args+=(
-f,--force-merge ForceMerge=1 "++\
forcer la fusion pour une branche qui devrait être traitée par prel"
)
fi
args+=(
-n,--no-push Push= "\
ne pas pousser les branches vers leur origine après la fusion"
--push Push=1 "++\
pousser les branches vers leur origine après la fusion. pousser les branches vers leur origine après la fusion.
c'est l'option par défaut" c'est l'option par défaut")
)
if [ -n "$DELETE_MERGED" ]; then if [ -n "$DELETE_MERGED" ]; then
variables="${variables} variables="${variables}
AFTER_DELETE_${MERGE_SRC}" AFTER_DELETE_${MERGE_SRC}"
args+=( no_delete_def=(Delete= "\
-k,--no-delete Delete= "\
ne pas supprimer la branche $MergeSrcDesc après la fusion dans la branche ne pas supprimer la branche $MergeSrcDesc après la fusion dans la branche
$MergeDestDesc. cette option ne devrait pas être utilisée avec --squash" $MergeDestDesc. cette option ne devrait pas être utilisée avec --squash")
--delete Delete=1 "++\ delete_def=(Delete=1 "++\
supprimer la branche $MergeSrcDesc après la fusion dans la branche supprimer la branche $MergeSrcDesc après la fusion dans la branche
$MergeDestDesc. $MergeDestDesc.
c'est l'option par défaut" c'est l'option par défaut")
)
fi fi
if [ -n "$MERGE_DEST" ]; then [ -n "$MERGE_DEST" ] && variables="${variables}
variables="${variables}
BEFORE_PUSH_${MERGE_DEST} BEFORE_PUSH_${MERGE_DEST}
AFTER_PUSH_${MERGE_DEST}" AFTER_PUSH_${MERGE_DEST}"
fi
args+=( after_merge_def=(AfterMerge= "évaluer le script spécifié après une fusion *réussie*")
-a:,--after-merge AfterMerge= "\
évaluer le script spécifié après une fusion *réussie*"
)
fi fi
chdir= chdir=
@ -361,7 +347,25 @@ CONFIGURATION
Le fichier .pman.conf contient la configuration des branches. Le fichier .pman.conf contient la configuration des branches.
$variables" $variables"
"${args[@]}" -d:,--chdir:BASEDIR "${chdir_def[@]}"
-O:,--origin "${origin_def[@]}"
-B:,--config-branch "${config_branch_def[@]}"
-c:,--config-file:CONFIG "${config_file_def[@]}"
--fake "${fake_def[@]}"
--keep-script "${keep_script_def[@]}"
--dump "${dump_action_def[@]}"
--checkout "${checkout_action_def[@]}"
-w,--show "${show_action_def[@]}"
-b,--rebase "${rebase_action_def[@]}"
-m,--merge "${merge_action_def[@]}"
--tech-merge "${tech_merge_def[@]}"
-s:,--squash:COMMIT_MSG "${squash_def[@]}"
-f,--force-merge "${force_merge_def[@]}"
-n,--no-push "${no_push_def[@]}"
--push "${push_def[@]}"
-k,--no-delete "${no_delete_def[@]}"
--delete "${delete_def[@]}"
-a:,--after-merge "${after_merge_def[@]}"
) )
parse_args "$@"; set -- "${args[@]}" parse_args "$@"; set -- "${args[@]}"