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
|