git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH] rebase: make resolve message clearer for inexperienced users

From
William Duclot <william.duclot@gmail.com>
Date
Jul 16, 2017, 19:42 UTC
Message-ID
<20170716194220.1304-1-william.duclot@gmail.com>

The git UI can be improved by addressing the error messages to those they help: inexperienced and casual git users. To this intent, it is helpful to make sure the terms used in those messages can be understood by this segment of users, and that they guide them to resolve the problem.

In particular, failure to apply a patch during a git rebase is a common problem that can be very destabilizing for the inexperienced user. It is important to lead them toward the resolution of the conflict (which is a 3-steps process, thus complex) and reassure them that they can escape a situation they can't handle with "--abort". This commit answer those two points by detailling the resolution process and by avoiding cryptic git linguo.

Signed-off-by: William Duclot <william.duclot@gmail.com>
---
Those new messages have been written thanks to Junio feedbacks and users
tests with a few inexperienced git users.
 git-rebase.sh   | 7 ++++---
 t/t5520-pull.sh | 4 ++--
 2 files changed, 6 insertions(+), 5 deletions(-)
diff --git a/git-rebase.sh b/git-rebase.sh
index 2cf73b88e..ef3409679 100755
--- a/git-rebase.sh
+++ b/git-rebase.sh
@@ -55,9 +55,10 @@ LF='
 '
 ok_to_skip_pre_rebase=
 resolvemsg="
-$(gettext 'When you have resolved this problem, run "git rebase --continue".
-If you prefer to skip this patch, run "git rebase --skip" instead.
-To check out the original branch and stop rebasing, run "git rebase --abort".')
+$(gettext 'Resolve all conflicts manually, mark them as resolved with
+"git add/rm <conflicted_files>", then run "git rebase --continue".
+You can instead skip this commit: run "git rebase --skip".
+To abort and get back to the state before "git rebase -i", run "git rebase --abort".')
 "
 unset onto
 unset restrict_revision
diff --git a/t/t5520-pull.sh b/t/t5520-pull.sh
index f15f7a332..59c4b778d 100755
--- a/t/t5520-pull.sh
+++ b/t/t5520-pull.sh
@@ -305,7 +305,7 @@ test_expect_success '--rebase with conflicts shows advice' '
 	test_tick &&
 	git commit -m "Create conflict" seq.txt &&
 	test_must_fail git pull --rebase . seq 2>err >out &&
-	test_i18ngrep "When you have resolved this problem" out
+	test_i18ngrep "Resolve all conflicts manually" out
 '
 
 test_expect_success 'failed --rebase shows advice' '
@@ -319,7 +319,7 @@ test_expect_success 'failed --rebase shows advice' '
 	git checkout -f -b fails-to-rebase HEAD^ &&
 	test_commit v2-without-cr file "2" file2-lf &&
 	test_must_fail git pull --rebase . diverging 2>err >out &&
-	test_i18ngrep "When you have resolved this problem" out
+	test_i18ngrep "Resolve all conflicts manually" out
 '
 
 test_expect_success '--rebase fails with multiple branches' '
-- 
2.13.0
Next: Junio C Hamano
Message 1 of 2 in “rebase: make resolve message clearer for inexperienced users”
  1. rebase: make resolve message clearer for inexperienced usersWilliam Duclot, Jul 16, 2017
  2. Junio C HamanoJul 17, 2017

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.