#!/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 pman pman.conf git_cleancheckout_DIRTY="\ Vous avez des modifications locales. Enregistrez ces modifications avant de créer une release" function show_action() { local commits setx commits=_list_commits if [ -n "$commits" ]; then einfo "Commits à fusionner $SrcBranch --> $DestBranch" eecho "$commits" fi } function ensure_branches() { [ -n "$SrcBranch" -a -n "$DestBranch" ] || die "$SrcBranch: Aucune configuration de fusion trouvée pour cette branche" array_contains LocalBranches "$SrcBranch" || die "$SrcBranch: branche source introuvable" array_contains LocalBranches "$DestBranch" || die "$DestBranch: branche destination introuvable" } function create_release_action() { local script=".git/rel-release.sh" local -a push_branches push_tags if [ -n "$ReleaseBranch" ]; then Version="${ReleaseBranch#$RELEASE}" merge_release_action "$@"; return $? elif [ -n "$HotfixBranch" ]; then Version="${HotfixBranch#$HOTFIX}" merge_hotfix_action "$@"; return $? fi [ -n "$Version" ] || die "Vous devez spécifier la version de la release" ReleaseBranch="${RELEASE}$Version" if [ -n "$Merge" ]; then enote "\ Ce script va: - créer la branche de release ${COULEUR_VERTE}$ReleaseBranch${COULEUR_NORMALE} <-- ${COULEUR_BLEUE}$SrcBranch${COULEUR_NORMALE} - la provisionner avec une description des changements - la fusionner dans la branche destination ${COULEUR_ROUGE}$DestBranch${COULEUR_NORMALE}${Push:+ - pousser les branches modifiées}" else enote "\ Ce script va: - créer la branche de release ${COULEUR_VERTE}$ReleaseBranch${COULEUR_NORMALE} <-- ${COULEUR_BLEUE}$SrcBranch${COULEUR_NORMALE} - la provisionner avec une description des changements Vous devrez: - mettre à jour les informations de release puis relancer ce script" fi ask_yesno "Voulez-vous continuer?" O || die local comment= local or_die=" || exit 1" _rscript_start _script_add <