nulib/wip/_rel

69 lines
1.7 KiB
Plaintext
Raw Normal View History

2025-02-20 10:13:53 +04:00
#!/bin/bash
# -*- coding: utf-8 mode: sh -*- vim:sw=4:sts=4:et:ai:si:sta:fenc=utf-8
source "$(dirname -- "$0")/../load.sh" || exit 1
require: git
2025-02-23 18:38:15 +04:00
UPSTREAM=
2025-02-20 10:13:53 +04:00
DEVELOP=develop
FEATURE=wip/
RELEASE=release-
MAIN=master
2025-02-23 18:38:15 +04:00
TAG_SUFFIX=
2025-02-20 10:13:53 +04:00
HOTFIX=hotfix-
2025-02-21 04:11:24 +04:00
DIST=
2025-02-23 18:38:15 +04:00
source "$MYDIR/pman${MYNAME#_rel}.conf"
2025-02-20 10:13:53 +04:00
function init_action() {
:
}
function list_action() {
:
}
function release_action() {
:
}
chdir=
Remote=
action=list
args=(
"faire une nouvelle release"
" -rv VERSION"
-d:,--chdir:BASEDIR chdir= "répertoire dans lequel se placer avant de lancer les opérations"
-o:,--remote Remote= "++spécifier le remote vers lequel pousser les branches"
--init action=init "++initialiser les branches $DEVELOP et $MAIN"
--list action=list "lister les modifications qui seraient intégrées dans la release"
2025-02-23 18:38:15 +04:00
-g,--release action=release "faire la release"
2025-02-20 10:13:53 +04:00
-v:,--version Version= "spécifier la version de la release"
2025-02-23 18:38:15 +04:00
-m,--merge Merge=1 "merger la branche de release après l'avoir créée"
2025-02-20 10:13:53 +04:00
)
parse_args "$@"; set -- "${args[@]}"
if [ -n "$chdir" ]; then
cd "$chdir" || die
fi
git_check_gitvcs || die "$(ppath "$(pwd)" ~): ce répertoire n'est pas un dépôt git"
setx branch=git_get_branch
case "$branch" in
2025-02-23 18:38:15 +04:00
"$UPSTREAM") current=upstream;;
2025-02-20 10:13:53 +04:00
"$DEVELOP") current=develop;;
"$FEATURE"*) current=feature;;
"$RELEASE"*) current=release;;
"$MAIN") current=main;;
"$HOTFIX"*) current=hotfix;;
2025-02-21 04:11:24 +04:00
"$DIST") current=dist;;
2025-02-20 10:13:53 +04:00
*) ewarn "$branch: branche courante non reconnue";;
esac
case "$action" in
init) init_action "$@";;
list) list_action "$@";;
release)
[ -n "$Version" ] || die "Vous devez spécifier la version de la release"
release_action "$@"
;;
esac