nutools/todo/pfix

53 lines
1.9 KiB
Bash
Executable File

#!/bin/bash
# -*- coding: utf-8 mode: sh -*- vim:sw=4:sts=4:et:ai:si:sta:fenc=utf-8
source "$(dirname "$0")/lib/ulib/ulib" || exit 1
urequire DEFAULTS ptools
function display_help() {
uecho "$scriptname: basculer sur une branche de hotfix
USAGE
$scriptname [options] [HOTFIX [SOURCE]]
- Vérifier s'il n'y a pas de modifications locales. Sinon, proposer de faire un
commit ou un stash.
- Si TOPIC est spécifié, et si on n'est pas déjà sur cette branche, basculer
vers cette nouvelle branche. S'il s'agit d'une nouvelle branche, la baser sur
la branche SOURCE, qui vaut par défaut master
- Si TOPIC n'est pas spécifié, afficher un menu pour choisir la branche de
destination.
OPTIONS
-C, --projdir PROJDIR
Spécifier le répertoire de base du projet qui est dans git. Par défaut,
on travaille dans le répertoire courant et on laisse git trouver le
répertoire de base du projet. Avec cette option, le répertoire courant
est modifié avant de lancer les commandes git.
-O, --origin ORIGIN
Spécifier le nom de l'origine. Par défaut, utiliser 'origin'
-m, --merge
Si la branche actuelle est une branche de hotfix, la merger dans master
(ou dans la branche de release), et dans develop, puis la supprimer.
Puis basculer sur la branche master.
-l, --log
Afficher les modifications actuellement effectuée dans la branche de
hotfix par rapport à master.
-d, --diff
Afficher les modifications actuellement effectuée dans la branche de
hotfix par rapport à master, sous forme de diff."
}
projdir=
origin=origin
parse_opts "${PRETTYOPTS[@]}" \
--help '$exit_with display_help' \
-C:,--projdir: projdir= \
-O:,--origin: origin= \
@ args -- "$@" && set -- "${args[@]}" || die "$args"
if [ -n "$projdir" ]; then
cd "$projdir" || die
fi
git_ensure_gitvcs