après Commit, vérifier qu'il n'y a pas encore des marques de conflit

This commit is contained in:
Jephté Clain 2018-04-17 05:44:32 +04:00
parent fa6e87a425
commit f9d3f906f2
1 changed files with 17 additions and 5 deletions

22
pff
View File

@ -948,7 +948,7 @@ function patch_cmd() {
local merge_strategy="$1" commit_policy="$2"; shift; shift local merge_strategy="$1" commit_policy="$2"; shift; shift
local pffdir="$1" local pffdir="$1"
local gitproject was_patched eop_version local gitproject was_patched eop_version
local version profile rcfile curdir workdir controlfile control local version profile rcfile curdir workdir controlfile control tmpfile
local -a profiles vlfiles tmpfiles local -a profiles vlfiles tmpfiles
ensure_pffdir pffdir "$pffdir" ensure_pffdir pffdir "$pffdir"
@ -1057,12 +1057,10 @@ $(qvals source "$ULIBDIR/ulib")
urequire DEFAULTS urequire DEFAULTS
function Commit() { echo COMMIT >$(qvals "$controlfile"); exit; } function Commit() { echo COMMIT >$(qvals "$controlfile"); exit; }
# raccourcis pour Commit # raccourcis pour Commit
function C() { Commit \"\$@\"; } function C() { Commit \"\$@\"; }; function c() { Commit \"\$@\"; }; function commit() { Commit \"\$@\"; }
function c() { Commit \"\$@\"; }
function Abort() { echo ABORT >$(qvals "$controlfile"); exit; } function Abort() { echo ABORT >$(qvals "$controlfile"); exit; }
# raccourcis pour Abort # raccourcis pour Abort
function A() { Abort \"\$@\"; } function A() { Abort \"\$@\"; }; function a() { Abort \"\$@\"; }; function abort() { Abort \"\$@\"; }
function a() { Abort \"\$@\"; }
$(qvals cd "$workdir") $(qvals cd "$workdir")
$(qvals eerror "Une erreur s'est produite: consultez les fichiers concernés et faites les corrections nécessaires. En cas de conflit, vous devez les résoudre en examinant les lignes marquées $(qvals eerror "Une erreur s'est produite: consultez les fichiers concernés et faites les corrections nécessaires. En cas de conflit, vous devez les résoudre en examinant les lignes marquées
<<<<<<< HEAD <<<<<<< HEAD
@ -1080,6 +1078,20 @@ $(qvals eimportant "Sinon, tapez ${COULEUR_ROUGE}Abort${COULEUR_NORMALE} pour ar
eerror "Vous n'avez pas terminé votre session par ${COULEUR_VERTE}Commit${COULEUR_NORMALE} ou ${COULEUR_ROUGE}Abort${COULEUR_NORMALE}" 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 ask_yesno "Voulez-vous valider l'intégration de la version?" N && control=COMMIT || control=ABORT
fi fi
if [ "$control" == COMMIT ]; then
array_from_lines tmpfiles "$(git status --porcelain | awk '{print substr($0, 4)}')"
for tmpfile in "${tmpfiles[@]}"; do
if grep -qE '^(<<<<<<<|=======|>>>>>>>)' "$tmpfile"; then
ewarn "Vous avez choisi de valider l'intégration des modifications mais..."
ewarn "$tmpfile: ce fichier semble encore contenir des marques de conflit"
if ! ask_yesno -y "Etes-vous sûr d'avoir correctement édité le fichier?" N; then
eecho "Annulation de l'intégration de la version"
control=ABORT
break
fi
fi
done
fi
if [ "$control" == ABORT ]; then if [ "$control" == ABORT ]; then
enote "Vous pouvez reprendre l'intégration de la version $version avec la commande pff -g" enote "Vous pouvez reprendre l'intégration de la version $version avec la commande pff -g"
break # abort break # abort