l'utilisateur doit faire Commit ou Abort. sinon lui demander son choix
This commit is contained in:
parent
33b7dbabd8
commit
5f68f3eb50
32
pff
32
pff
|
@ -944,7 +944,7 @@ function new_cmd() {
|
|||
function patch_cmd() {
|
||||
local commit_policy="$1" pffdir="$2"
|
||||
local gitproject was_patched eop_version
|
||||
local version profile rcfile curdir workdir controldir
|
||||
local version profile rcfile curdir workdir controlfile control
|
||||
local -a profiles vlfiles tmpfiles
|
||||
|
||||
ensure_pffdir pffdir "$pffdir"
|
||||
|
@ -983,10 +983,9 @@ function patch_cmd() {
|
|||
# il faut patcher les fichiers du profil
|
||||
etitle "Intégration de la version $version dans le profil $profile"
|
||||
[ -n "$rcfile" ] || ac_set_tmpfile rcfile
|
||||
[ -n "$controlfile" ] || ac_set_tmpfile controlfile
|
||||
[ -n "$workdir" ] && ac_clean "$workdir"
|
||||
ac_set_tmpdir workdir
|
||||
[ -n "$controldir" ] && ac_clean "$controldir"
|
||||
ac_set_tmpdir controldir
|
||||
curdir="$(pwd)"
|
||||
cd "$workdir"
|
||||
git init -q .
|
||||
|
@ -1046,17 +1045,32 @@ function patch_cmd() {
|
|||
[ -f ~/.bashrc ] && . ~/.bashrc
|
||||
$(qvals source "$ULIBDIR/ulib")
|
||||
urequire DEFAULTS
|
||||
function abort() { $(qvals touch "$controldir/ABORT"); exit; }
|
||||
function a() { abort \"\$@\"; } # raccourci pour abort
|
||||
function d() { exit; } # raccourci pour done
|
||||
function Commit() { echo COMMIT >$(qvals "$controlfile"); exit; }
|
||||
# raccourcis pour Commit
|
||||
function C() { Commit \"\$@\"; }
|
||||
function c() { Commit \"\$@\"; }
|
||||
function Abort() { echo ABORT >$(qvals "$controlfile"); exit; }
|
||||
# raccourcis pour Abort
|
||||
function A() { Abort \"\$@\"; }
|
||||
function a() { Abort \"\$@\"; }
|
||||
$(qvals cd "$workdir")
|
||||
$(qvals eerror "Une erreur s'est produite: examinez la situation et faites les corrections nécessaires")
|
||||
$(qvals eimportant "Puis tapez exit pour valider l'intégration de la version")
|
||||
$(qvals eimportant "Sinon, tapez abort pour arrêter l'intégration de cette version")
|
||||
$(qvals eimportant "Puis tapez ${COULEUR_VERTE}Commit${COULEUR_NORMALE} pour valider l'intégration de la version")
|
||||
$(qvals eimportant "Sinon, tapez ${COULEUR_ROUGE}Abort${COULEUR_NORMALE} pour arrêter l'intégration de cette version")
|
||||
"
|
||||
>"$controlfile"
|
||||
"${SHELL:-bash}" --rcfile "$rcfile"
|
||||
control="$(<"$controlfile")"
|
||||
if [ -z "$control" ]; then
|
||||
# demander à l'utilisateur sa décision
|
||||
eerror "Vous n'avez pas terminé votre session par ${COULEUR_VERTE}Commit${COULEUR_NORMALE} ou ${COULEUR_ROUGE}Abort${COULEUR_NORMALE}"
|
||||
ask_yesno "Voulez-vous valider l'intégration de la version?" N && control=COMMIT || control=ABORT
|
||||
fi
|
||||
if [ "$control" == ABORT ]; then
|
||||
enote "Vous pouvez reprendre l'intégration de la version $version avec la commande pff -g"
|
||||
break # abort
|
||||
fi
|
||||
fi
|
||||
[ -f "$controldir/ABORT" ] && break
|
||||
# récupérer les versions modifiées et supprimer les fichiers de patch
|
||||
for vlfile in "${vlfiles[@]}"; do
|
||||
setx pfile=get_pfile "${vlfile%__pv-${version}__}" "$profile" "$pffdir"
|
||||
|
|
Loading…
Reference in New Issue