git: c7e370335203 - stable/13 - freebsd-update: re-edit files if merge conflict markers remain
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Thu, 02 Mar 2023 18:31:10 UTC
The branch stable/13 has been updated by emaste:
URL: https://cgit.FreeBSD.org/src/commit/?id=c7e3703352037a5afacdc4126725f351fe7da72b
commit c7e3703352037a5afacdc4126725f351fe7da72b
Author: Ed Maste <emaste@FreeBSD.org>
AuthorDate: 2022-12-14 17:34:59 +0000
Commit: Ed Maste <emaste@FreeBSD.org>
CommitDate: 2023-03-02 18:29: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, expedited MFC)
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D37703
(cherry picked from commit ceb5f28ba5fcfa69de7410d2327d4a5abf2a421f)
---
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