From: Alan Chandler Date: Mon, 07 Sep 2009 12:08:05 GMT Subject: Re: Use case I don't know how to address Message-ID: <4AA4F7A5.2060904@chandlerfamily.org.uk> In-Reply-To: <4AA4F632.3070206@chandlerfamily.org.uk> Alan Chandler wrote: > Alan Chandler wrote: >> Junio C Hamano wrote: >>> Alan Chandler writes: >>> >>>> 2' - 2a - 3' - 4' ----------------- 6' SITE >>>> / / / / >>>> 1 - 2 ------ 3 - 4 ------------6'''- 6a TEST >>>> \ / >>>> 5 ------ 6 MASTER >>>> \ \ >>>> 5''- 5a- 6'' DEMO >>>> >>>> >>>> What will happen is the changes made in 4->5 will get applied to the >>>> (now) Test branch as part of the 6->6'' merge, and I will be left >>>> having to add a new commit, 6a, to undo them all again. Given this is >>>> likely to be quite a substantial change I want to try and avoid it if >>>> possible. >>> >>> I presume 6'''-6a has the revert of 4-5? If so, the next merge should >>> work just fine. >> >> >> I think you missed the issue - Yes 6'''-6a is the revert, but the >> problem is this could be large and complicated, and I wanted to find >> an automated way rather than manual >> >> Sort of like doing a diff of 4-5 and somehow applying it backwards. >> >> > > I just discovered that git-apply has the -R flag. Is that what I am > looking for? > 2' - 2a - 3' - 4' ------------ 6' SITE / / / / 1 - 2 ------ 3 - 4 --5'''--5b---6''' TEST \ / / 5 ------ 6 MASTER \ \ 5''- 5a- 6'' DEMO Just to be clear - if I do a diff of 4->5 and then immediately merge it back to 4 as 5'' (which fast forwards 4) and then 5b is the diff of 4-5 applied with git apply -R. Is that what the -R flag does on git apply? -- Alan Chandler http://www.chandlerfamily.org.uk