renommer topic en feature
création d'une feature branch
This commit is contained in:
		
							parent
							
								
									34e020e198
								
							
						
					
					
						commit
						18a2c641de
					
				@ -28,7 +28,7 @@ function is_hotfix_branch() {
 | 
			
		||||
    local branch; branch="$(__get_branch "$1")" || return 2
 | 
			
		||||
    [[ "$branch" == hotfix-* ]]
 | 
			
		||||
}
 | 
			
		||||
function is_topic_branch() {
 | 
			
		||||
function is_feature_branch() {
 | 
			
		||||
    local branch; branch="$(__get_branch "$1")" || return 2
 | 
			
		||||
    [ "$branch" == "master" ] && return 1
 | 
			
		||||
    [ "$branch" == "develop" ] && return 1
 | 
			
		||||
@ -36,3 +36,17 @@ function is_topic_branch() {
 | 
			
		||||
    [[ "$branch" == hotfix-* ]] && return 1
 | 
			
		||||
    return 0
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function list_release_branches() {
 | 
			
		||||
    git_list_branches | grep '^release-'
 | 
			
		||||
}
 | 
			
		||||
function list_hotfix_branches() {
 | 
			
		||||
    git_list_branches | grep '^hotfix-'
 | 
			
		||||
}
 | 
			
		||||
function list_feature_branches() {
 | 
			
		||||
    git_list_branches |
 | 
			
		||||
    grep -vF master |
 | 
			
		||||
    grep -vF develop |
 | 
			
		||||
    grep -v '^release-' |
 | 
			
		||||
    grep -v '^hotfix-'
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -576,6 +576,7 @@ function git_ensure_branch() {
 | 
			
		||||
        git branch -t "$branch" "$origin/$branch" || return 2
 | 
			
		||||
    else
 | 
			
		||||
        # créer une nouvelle branche du nom spécifié
 | 
			
		||||
        git_have_branch "$source" || return 2
 | 
			
		||||
        git branch "$branch" "$source" || return 2
 | 
			
		||||
        if git_have_remote "$origin"; then
 | 
			
		||||
            git push "$origin" "$branch" && git_track_branch "$branch" "$origin"
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										59
									
								
								pdev
									
									
									
									
									
								
							
							
						
						
									
										59
									
								
								pdev
									
									
									
									
									
								
							@ -7,16 +7,16 @@ function display_help() {
 | 
			
		||||
    uecho "$scriptname: basculer sur une branche de développement
 | 
			
		||||
 | 
			
		||||
USAGE
 | 
			
		||||
    $scriptname [options] [TOPIC [SOURCE]]
 | 
			
		||||
    $scriptname [options] [FEATURE [SOURCE]]
 | 
			
		||||
 | 
			
		||||
- Vérifier l'existence de la branche develop. La créer si nécessaire en la
 | 
			
		||||
  basant sur [origin/]master.
 | 
			
		||||
- 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
 | 
			
		||||
- Si FEATURE 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 develop
 | 
			
		||||
- Si TOPIC n'est pas spécifié, basculer sur develop s'il s'agit de la seule
 | 
			
		||||
- Si FEATURE n'est pas spécifié, basculer sur develop s'il s'agit de la seule
 | 
			
		||||
  solution, sinon afficher un menu pour choisir la branche de destination.
 | 
			
		||||
 | 
			
		||||
OPTIONS
 | 
			
		||||
@ -24,14 +24,14 @@ OPTIONS
 | 
			
		||||
        Créer la branche develop et la configurer le cas échéant pour qu'elle
 | 
			
		||||
        traque la branche origin/develop
 | 
			
		||||
    -m, --merge
 | 
			
		||||
        Si la branche actuelle est une branche de topic, la merger dans develop
 | 
			
		||||
        Si la branche actuelle est une feature branch, la merger dans develop
 | 
			
		||||
        puis la supprimer. Puis basculer sur la branche develop.
 | 
			
		||||
    -l, --log
 | 
			
		||||
        Afficher les modifications actuellement effectuée dans la branche de
 | 
			
		||||
        topic par rapport à develop.
 | 
			
		||||
        Afficher les modifications actuellement effectuée dans la feature
 | 
			
		||||
        branch par rapport à develop.
 | 
			
		||||
    -d, --diff
 | 
			
		||||
        Afficher les modifications actuellement effectuée dans la branche de
 | 
			
		||||
        topic par rapport à develop, sous forme de diff."
 | 
			
		||||
        Afficher les modifications actuellement effectuée dans la feature branch
 | 
			
		||||
        par rapport à develop, sous forme de diff."
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
parse_opts "${PRETTYOPTS[@]}" \
 | 
			
		||||
@ -40,20 +40,43 @@ parse_opts "${PRETTYOPTS[@]}" \
 | 
			
		||||
 | 
			
		||||
git_ensure_gitvcs
 | 
			
		||||
if ! git_have_branch develop; then
 | 
			
		||||
    estepn "Création de la branche develop"
 | 
			
		||||
    estepn "Configuration de la branche develop"
 | 
			
		||||
    git_ensure_branch develop
 | 
			
		||||
    [ $? -eq 2 ] && die "Une erreur s'est produite pendant la création de la branche develop"
 | 
			
		||||
    [ $? -eq 2 ] && die "Impossible de créer la branche develop. Veuillez vérifier que la branche master existe"
 | 
			
		||||
fi
 | 
			
		||||
git_track_branch develop
 | 
			
		||||
 | 
			
		||||
topic="$1"
 | 
			
		||||
source="$2"
 | 
			
		||||
feature="$1"
 | 
			
		||||
source="${2:-develop}"
 | 
			
		||||
 | 
			
		||||
if [ -n "$topic" ]; then
 | 
			
		||||
    # Créer/basculer vers une branche de topic
 | 
			
		||||
    :
 | 
			
		||||
if [ -z "$feature" ]; then
 | 
			
		||||
    setx branch=git_get_branch
 | 
			
		||||
    setx -a branches=list_feature_branches
 | 
			
		||||
 | 
			
		||||
    if [ ${#branches[*]} -eq 0 ]; then
 | 
			
		||||
        # En l'absence de feature branch, basculer sur develop
 | 
			
		||||
        feature=develop
 | 
			
		||||
    else
 | 
			
		||||
        array_ins branches develop
 | 
			
		||||
        simple_menu feature branches -d "$branch" \
 | 
			
		||||
            -t "Basculer vers une feature branch" \
 | 
			
		||||
            -m "Veuillez choisir la branche vers laquelle basculer"
 | 
			
		||||
    fi
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
# On est peut-être déjà sur la bonne branche
 | 
			
		||||
if git_is_branch "$feature"; then
 | 
			
		||||
    git_track_branch "$feature"
 | 
			
		||||
    exit 0
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
# Créer/basculer vers une feature branch
 | 
			
		||||
git_ensure_cleancheckout
 | 
			
		||||
if git_have_branch "$feature"; then
 | 
			
		||||
    git checkout "$feature"
 | 
			
		||||
else
 | 
			
		||||
    # Créer/basculer vers la branche de développement
 | 
			
		||||
    :
 | 
			
		||||
    estepn "\
 | 
			
		||||
Vous allez créer la nouvelle feature branch ${COULEUR_VERTE}$feature${COULEUR_NORMALE}
 | 
			
		||||
à partir de la branche source ${COULEUR_BLEUE}$source${COULEUR_NORMALE}"
 | 
			
		||||
    ask_yesno "Voulez-vous continuer?" O || die
 | 
			
		||||
    git checkout -b "$feature" "$source"
 | 
			
		||||
fi
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user