Paul Tan [off-list ref] writes:
+test_expect_success 'fast-forward fails with conflicting work tree' '
+ git checkout -b third master^ &&
+ test_when_finished "git checkout -f copy && git branch -D third" &&
+ echo file >expected &&
+ test_cmp expected file &&
+ echo conflict >file &&
+ test_must_fail git pull . second:third 2>out &&
+ test_i18ngrep "Cannot fast-forward your working tree" out &&
+ test `cat file` = conflict
At this point, HEAD would match either master^ (as initially checked
out) or second (as fetch fast-forwarded), but I cannot read what this
test is expecting to happen.
Should the HEAD move or stay?
+'
+
test_expect_success '--rebase' '
git branch to-rebase &&
echo modified again > file &&