Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 2 Mar 2023 20:51:04 GMT
From:      Ed Maste <emaste@FreeBSD.org>
To:        src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org
Subject:   git: a6c6edbe9d37 - releng/13.2 - freebsd-update: re-edit files if merge conflict markers remain
Message-ID:  <202303022051.322Kp4Bf093756@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch releng/13.2 has been updated by emaste:

URL: https://cgit.FreeBSD.org/src/commit/?id=a6c6edbe9d37caf1dbc81f918adf8c1f451a534e

commit a6c6edbe9d37caf1dbc81f918adf8c1f451a534e
Author:     Ed Maste <emaste@FreeBSD.org>
AuthorDate: 2022-12-14 17:34:59 +0000
Commit:     Ed Maste <emaste@FreeBSD.org>
CommitDate: 2023-03-02 20:50:57 +0000

    freebsd-update: re-edit files if merge conflict markers remain
    
    freebsd-update will open ${EDITOR} if conflicts occur while merging
    updates to config files.  Inform the user if they've left conflict
    markers behind, and go back to editing the file.
    
    PR:             185546
    PR:             229689
    Reviewed by:    delphij
    Approved by:    re (cperciva)
    Sponsored by:   The FreeBSD Foundation
    Differential Revision:  https://reviews.freebsd.org/D37703
    
    (cherry picked from commit ceb5f28ba5fcfa69de7410d2327d4a5abf2a421f)
    (cherry picked from commit c7e3703352037a5afacdc4126725f351fe7da72b)
---
 usr.sbin/freebsd-update/freebsd-update.sh | 17 +++++++++++++++--
 1 file changed, 15 insertions(+), 2 deletions(-)

diff --git a/usr.sbin/freebsd-update/freebsd-update.sh b/usr.sbin/freebsd-update/freebsd-update.sh
index 078043326115..ca043de20f62 100644
--- a/usr.sbin/freebsd-update/freebsd-update.sh
+++ b/usr.sbin/freebsd-update/freebsd-update.sh
@@ -2543,8 +2543,21 @@ The following file could not be merged automatically: ${F}
 Press Enter to edit this file in ${EDITOR} and resolve the conflicts
 manually...
 			EOF
-			read dummy </dev/tty
-			${EDITOR} `pwd`/merge/new/${F} < /dev/tty
+			while true; do
+				read dummy </dev/tty
+				${EDITOR} `pwd`/merge/new/${F} < /dev/tty
+
+				if ! egrep -q '^(<<<<<<<|=======|>>>>>>>)([[:space:]].*)?$' $(pwd)/merge/new/${F} ; then
+					break
+				fi
+				cat <<-EOF
+
+Merge conflict markers remain in: ${F}
+These must be resolved for the system to be functional.
+
+Press Enter to return to editing this file.
+				EOF
+			done
 		done < failed.merges
 		rm failed.merges
 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202303022051.322Kp4Bf093756>