Jeff King [off-list ref] writes:
On Thu, Jun 20, 2013 at 03:06:01PM +0200, Thomas Rast wrote:
quoted
+test_expect_success 'pulling into void does not overwrite staged files' '
+ git init cloned-staged-colliding &&
+ (
+ cd cloned-staged-colliding &&
+ echo "alternate content" >file &&
+ git add file &&
+ test_must_fail git pull .. master &&
+ echo "alternate content" >expect &&
+ test_cmp expect file &&
+ git cat-file blob :file >file.index &&
+ test_cmp expect file.index
+ )
+'
I naively would have expected this to leave us in a conflicted state
over "file". But I guess read-tree just rejects it, because we are not
doing a real three-way merge. I'm not sure it is that big a deal; this
is more about safety than about creating a conflicted/resolvable state.
Note that the test_must_fail essentially tests that the merge is rejected.
--
Thomas Rast
trast@{inf,student}.ethz.ch