From f9d3f906f25a260c407d646181b620715f2b29e9 Mon Sep 17 00:00:00 2001 From: Jephte Clain Date: Tue, 17 Apr 2018 05:44:32 +0400 Subject: [PATCH] =?UTF-8?q?apr=C3=A8s=20Commit,=20v=C3=A9rifier=20qu'il=20?= =?UTF-8?q?n'y=20a=20pas=20encore=20des=20marques=20de=20conflit?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pff | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/pff b/pff index 6c10c97..508ff80 100755 --- a/pff +++ b/pff @@ -948,7 +948,7 @@ function patch_cmd() { local merge_strategy="$1" commit_policy="$2"; shift; shift local pffdir="$1" 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 ensure_pffdir pffdir "$pffdir" @@ -1057,12 +1057,10 @@ $(qvals source "$ULIBDIR/ulib") urequire DEFAULTS function Commit() { echo COMMIT >$(qvals "$controlfile"); exit; } # raccourcis pour Commit -function C() { Commit \"\$@\"; } -function c() { Commit \"\$@\"; } +function C() { Commit \"\$@\"; }; function c() { Commit \"\$@\"; }; function commit() { Commit \"\$@\"; } function Abort() { echo ABORT >$(qvals "$controlfile"); exit; } # raccourcis pour Abort -function A() { Abort \"\$@\"; } -function a() { Abort \"\$@\"; } +function A() { Abort \"\$@\"; }; function a() { Abort \"\$@\"; }; function abort() { Abort \"\$@\"; } $(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 <<<<<<< 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}" ask_yesno "Voulez-vous valider l'intégration de la version?" N && control=COMMIT || control=ABORT 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 enote "Vous pouvez reprendre l'intégration de la version $version avec la commande pff -g" break # abort