From: Thomas Rast Date: Thu, 20 Jun 2013 13:20:33 GMT Subject: Re: [PATCH v2] pull: merge into unborn by fast-forwarding from empty tree Message-ID: <87zjuk6hr2.fsf@linux-k42r.v.cablecom.net> In-Reply-To: <20130620131547.GA11073@sigill.intra.peff.net> Jeff King writes: > On Thu, Jun 20, 2013 at 03:06:01PM +0200, Thomas Rast wrote: > >> +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