Browse Source

rebase: make resolve message clearer for inexperienced users

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>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
maint
William Duclot 8 years ago committed by Junio C Hamano
parent
commit
5fdacc17c7
  1. 7
      git-rebase.sh
  2. 4
      t/t5520-pull.sh

7
git-rebase.sh

@ -55,9 +55,10 @@ LF=' @@ -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", run "git rebase --abort".')
"
unset onto
unset restrict_revision

4
t/t5520-pull.sh

@ -305,7 +305,7 @@ test_expect_success '--rebase with conflicts shows advice' ' @@ -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' ' @@ -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' '

Loading…
Cancel
Save