tenir compte des branches potentielles
This commit is contained in:
parent
b757ca13ca
commit
7c67a7f37a
|
@ -1,7 +1,12 @@
|
|||
# -*- coding: utf-8 mode: sh -*- vim:sw=4:sts=4:et:ai:si:sta:fenc=utf-8
|
||||
|
||||
function __pdev_branches() {
|
||||
git for-each-ref --format='%(refname:short)' refs/heads |
|
||||
local prefix=origin/
|
||||
{
|
||||
git for-each-ref refs/heads/ --format='%(refname:short)'
|
||||
git for-each-ref "refs/remotes/$prefix" --format='%(refname:short)' | grep -F "$prefix" | cut -c $((${#prefix} + 1))-
|
||||
} | csort -u |
|
||||
grep -vF HEAD |
|
||||
grep -vF master |
|
||||
grep -v '^release-' |
|
||||
grep -v '^hotfix-'
|
||||
|
|
|
@ -69,13 +69,16 @@ function is_hotfix_branch() { is_any_branch "$1" hotfix; }
|
|||
function is_feature_branch() { is_any_branch "$1" feature; }
|
||||
|
||||
function list_release_branches() {
|
||||
git_list_branches | grep '^release-'
|
||||
local p="$1"
|
||||
git_list_${p:+p}branches | grep '^release-'
|
||||
}
|
||||
function list_hotfix_branches() {
|
||||
git_list_branches | grep '^hotfix-'
|
||||
local p="$1"
|
||||
git_list_${p:+p}branches | grep '^hotfix-'
|
||||
}
|
||||
function list_feature_branches() {
|
||||
git_list_branches |
|
||||
local p="$1"
|
||||
git_list_${p:+p}branches |
|
||||
grep -vF master |
|
||||
grep -vF develop |
|
||||
grep -v '^release-' |
|
||||
|
|
10
lib/ulib/vcs
10
lib/ulib/vcs
|
@ -548,6 +548,16 @@ function git_list_branches() {
|
|||
function git_list_rbranches() {
|
||||
git for-each-ref "refs/remotes/${1:-origin}/" --format='%(refname:short)' | csort
|
||||
}
|
||||
function git_list_pbranches() {
|
||||
# lister les branches locales et celles qui existent dans l'origine
|
||||
# $1(=origin) et qui pourraient devenir une branche locale avec la commande
|
||||
# git checkout
|
||||
local prefix="${1:-origin}/"
|
||||
{
|
||||
git for-each-ref refs/heads/ --format='%(refname:short)'
|
||||
git for-each-ref "refs/remotes/$prefix" --format='%(refname:short)' | grep -F "$prefix" | cut -c $((${#prefix} + 1))-
|
||||
} | grep -vF HEAD | csort -u
|
||||
}
|
||||
function git_have_branch() {
|
||||
git_list_branches | grep -qF "$1"
|
||||
}
|
||||
|
|
2
pdev
2
pdev
|
@ -103,7 +103,7 @@ if [ "$action" == branch ]; then
|
|||
source="${2:-develop}"
|
||||
|
||||
if [ -z "$feature" ]; then
|
||||
setx -a branches=list_feature_branches
|
||||
setx -a branches=list_feature_branches p
|
||||
|
||||
if [ ${#branches[*]} -eq 0 ]; then
|
||||
# En l'absence de feature branch, basculer sur develop
|
||||
|
|
20
prel
20
prel
|
@ -162,7 +162,7 @@ if [ "$action" == update ]; then
|
|||
else
|
||||
# sinon, prendre une décision en fonction des branches de release
|
||||
# qui existent déjà
|
||||
setx -a branches=list_release_branches
|
||||
setx -a branches=list_release_branches p
|
||||
if [ ${#branches[*]} -eq 0 ]; then
|
||||
# en l'absence de branche de release, proposer d'en créer une
|
||||
incversion=menu
|
||||
|
@ -175,7 +175,7 @@ if [ "$action" == update ]; then
|
|||
default_branch="$branch"
|
||||
array_contains branches "$default_branch" || default_branch="${branches[0]}"
|
||||
simple_menu release branches -d "$default_branch" \
|
||||
-t "Basculer vers une release branch" \
|
||||
-t "Basculer vers une branche de release" \
|
||||
-m "Veuillez choisir la branche vers laquelle basculer"
|
||||
fi
|
||||
fi
|
||||
|
@ -188,7 +188,7 @@ if [ "$action" == update ]; then
|
|||
release="release-$minorv"
|
||||
branches=("release-$majorv" "release-$minorv" "release-$patchlevelv" master)
|
||||
simple_menu release branches \
|
||||
-t "Basculer vers une nouvelle release branch" \
|
||||
-t "Basculer vers une nouvelle branche de release" \
|
||||
-m "Veuillez choisir la branche à créer"
|
||||
;;
|
||||
major)
|
||||
|
@ -220,7 +220,7 @@ if [ "$action" == checkout ]; then
|
|||
source="${2:-develop}"
|
||||
|
||||
if [ -z "$release" ]; then
|
||||
setx -a branches=list_release_branches
|
||||
setx -a branches=list_release_branches p
|
||||
|
||||
if [ ${#branches[*]} -eq 0 ]; then
|
||||
# en l'absence de branche de release, basculer sur master
|
||||
|
@ -234,7 +234,7 @@ if [ "$action" == checkout ]; then
|
|||
default_branch="$branch"
|
||||
array_contains branches "$default_branch" || default_branch="${branches[0]}"
|
||||
simple_menu release branches -d "$default_branch" \
|
||||
-t "Basculer vers une release branch" \
|
||||
-t "Basculer vers une branche de release" \
|
||||
-m "Veuillez choisir la branche vers laquelle basculer"
|
||||
fi
|
||||
fi
|
||||
|
@ -249,13 +249,13 @@ if [ "$action" == checkout ]; then
|
|||
|
||||
# Créer/basculer vers une release branch
|
||||
git_ensure_cleancheckout
|
||||
is_any_branch "$release" master release || die "$release: ce n'est pas une release branch"
|
||||
is_any_branch "$release" master release || die "$release: ce n'est pas une branche de release"
|
||||
r=0
|
||||
if git_have_branch "$release"; then
|
||||
git checkout "$release"; r=$?
|
||||
else
|
||||
estepn "\
|
||||
Vous allez créer la nouvelle release branch ${COULEUR_VERTE}$release${COULEUR_NORMALE}
|
||||
Vous allez créer la nouvelle branche de release ${COULEUR_VERTE}$release${COULEUR_NORMALE}
|
||||
à partir de la branche source ${COULEUR_BLEUE}$source${COULEUR_NORMALE}"
|
||||
ask_yesno "Voulez-vous continuer?" O || die
|
||||
|
||||
|
@ -285,7 +285,7 @@ setb have_release_branches=[ ${#branches[*]} -gt 0 ]
|
|||
release="$1"
|
||||
if [ -n "$release" ]; then
|
||||
if [ -n "$have_release_branches" ]; then
|
||||
is_release_branch "$release" || die "$release: ce n'est pas une release branch"
|
||||
is_release_branch "$release" || die "$release: ce n'est pas une branche de release"
|
||||
elif ! is_develop_branch "$release"; then
|
||||
die "Aucune branche de release n'existe, vous devez fusionner à partir de develop"
|
||||
fi
|
||||
|
@ -299,7 +299,7 @@ if [ "$action" == merge ]; then
|
|||
|
||||
if [ -z "$release" ]; then
|
||||
if [ ${#branches[*]} -eq 0 ]; then
|
||||
ewarn "Aucune release branch n'a été préparée."
|
||||
ewarn "Aucune branche de release n'a été préparée."
|
||||
ewarn "La branche develop sera fusionnée directement dans master."
|
||||
release=develop
|
||||
confirm=-y
|
||||
|
@ -310,7 +310,7 @@ if [ "$action" == merge ]; then
|
|||
default_release="$branch"
|
||||
array_contains branches "$default_release" || default_release="${branches[0]}"
|
||||
simple_menu release branches -d "$default_release" \
|
||||
-t "Choix de la release branch" \
|
||||
-t "Choix de la branche de release" \
|
||||
-m "Veuillez choisir la branche"
|
||||
fi
|
||||
fi
|
||||
|
|
Loading…
Reference in New Issue