Merge branch 'jk/rebase-i-drop-ident-check' into maint
Even when "git pull --rebase=preserve" (and the underlying "git rebase --preserve") can complete without creating any new commit (i.e. fast-forwards), it still insisted on having a usable ident information (read: user.email is set correctly), which was less than nice. As the underlying commands used inside "git rebase" would fail with a more meaningful error message and advice text when the bogus ident matters, this extra check was removed. * jk/rebase-i-drop-ident-check: rebase-interactive: drop early check for valid ident
This commit is contained in:
commit
e25e6f3947
@ -1141,9 +1141,6 @@ To continue rebase after editing, run:
|
|||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
git var GIT_COMMITTER_IDENT >/dev/null ||
|
|
||||||
die "$(gettext "You need to set your committer info first")"
|
|
||||||
|
|
||||||
comment_for_reflog start
|
comment_for_reflog start
|
||||||
|
|
||||||
if test ! -z "$switch_to"
|
if test ! -z "$switch_to"
|
||||||
|
@ -36,4 +36,51 @@ test_expect_success 'succeeds cloning if global email is not set' '
|
|||||||
git clone . clone
|
git clone . clone
|
||||||
'
|
'
|
||||||
|
|
||||||
|
test_expect_success 'set up rebase scenarios' '
|
||||||
|
# temporarily enable an actual ident for this setup
|
||||||
|
test_config user.email foo@example.com &&
|
||||||
|
test_commit new &&
|
||||||
|
git branch side-without-commit HEAD^ &&
|
||||||
|
git checkout -b side-with-commit HEAD^ &&
|
||||||
|
test_commit side
|
||||||
|
'
|
||||||
|
|
||||||
|
test_expect_success 'fast-forward rebase does not care about ident' '
|
||||||
|
git checkout -B tmp side-without-commit &&
|
||||||
|
git rebase master
|
||||||
|
'
|
||||||
|
|
||||||
|
test_expect_success 'non-fast-forward rebase refuses to write commits' '
|
||||||
|
test_when_finished "git rebase --abort || true" &&
|
||||||
|
git checkout -B tmp side-with-commit &&
|
||||||
|
test_must_fail git rebase master
|
||||||
|
'
|
||||||
|
|
||||||
|
test_expect_success 'fast-forward rebase does not care about ident (interactive)' '
|
||||||
|
git checkout -B tmp side-without-commit &&
|
||||||
|
git rebase -i master
|
||||||
|
'
|
||||||
|
|
||||||
|
test_expect_success 'non-fast-forward rebase refuses to write commits (interactive)' '
|
||||||
|
test_when_finished "git rebase --abort || true" &&
|
||||||
|
git checkout -B tmp side-with-commit &&
|
||||||
|
test_must_fail git rebase -i master
|
||||||
|
'
|
||||||
|
|
||||||
|
test_expect_success 'noop interactive rebase does not care about ident' '
|
||||||
|
git checkout -B tmp side-with-commit &&
|
||||||
|
git rebase -i HEAD^
|
||||||
|
'
|
||||||
|
|
||||||
|
test_expect_success 'fast-forward rebase does not care about ident (preserve)' '
|
||||||
|
git checkout -B tmp side-without-commit &&
|
||||||
|
git rebase -p master
|
||||||
|
'
|
||||||
|
|
||||||
|
test_expect_success 'non-fast-forward rebase refuses to write commits (preserve)' '
|
||||||
|
test_when_finished "git rebase --abort || true" &&
|
||||||
|
git checkout -B tmp side-with-commit &&
|
||||||
|
test_must_fail git rebase -p master
|
||||||
|
'
|
||||||
|
|
||||||
test_done
|
test_done
|
||||||
|
Loading…
Reference in New Issue
Block a user