Jeff King <peff@xxxxxxxx> wrote: > On Sun, Apr 09, 2017 at 10:38:42AM +0200, Stefan Haller wrote: > > > I think it's wrong to think about these leases as something that you > > take before you start a rewindy operation. That's the wrong time to take > > the lease; by that time, the remote tracking branch may already contain > > new things that you haven't seen yet, so using that as a lease at that > > time will overwrite those things later. You have to take the lease at a > > time where you know that your local branch and the remote tracking > > branch are up to date with each other, which is after pull and push. And > > if you do that, there's no multiple-operation ambiguity to deal with at > > all. > > OK. I was assuming that you'd have just integrated before starting such > a rebase, but I guess that doesn't have to be the case. > > I agree that probably makes the multiple-operation stuff go away, which > is nice. It does raise the question of when the integration point > happens, and how we handle alternate paths through which commits may > land in a local branch (e.g., if both you and upstream do a ff-merge of > a particular branch). Are you talking about the case where the user doesn't say git pull, but instead says "git fetch && git merge --ff @{u}"? Just so that I understand the concern. > I think that would probably just end up with extra > failures though (so erring on the side of caution). Yes, and I think this is a very important decision in general. -- Stefan Haller Berlin, Germany http://www.haller-berlin.de/