Re: Wrong conflicts on file splits
- From
Jon Smirl <jonsmirl@gmail.com>
- Date
- May 4, 2009, 13:52 UTC
- Message-ID
- <9e4733910905040652s60f0a229qef18b36d386905ee@mail.gmail.com>
- In-Reply-To
- <49FEF25A.3090305@drmicha.warpmail.net>
On Mon, May 4, 2009 at 9:49 AM, Michael J Gruber <git@drmicha.warpmail.net> wrote:
Show 36 quoted lines
> Jon Smirl venit, vidit, dixit 04.05.2009 15:42: >> On Mon, May 4, 2009 at 9:27 AM, Michael J Gruber >> <git@drmicha.warpmail.net> wrote: >>> Jon Smirl venit, vidit, dixit 04.05.2009 14:53: >>>> I keep running into this problem, is there anything I can do to make >>>> it better? I'm using stgit but this is a problem in git itself. >>>> >>>> I have a patch that splits file A into two files, A and B. >>>> Now I merge with another tree and bring in a one line fix to A. >>>> The fix touches the pre-split file A in a section that is going to end up in B. >>>> Next I re-apply the patch that splits A into A and B. >>>> >>>> This results in a large conflict in the post split file A. >>>> And no patch being applied to file B which is where the fix belongs. >>>> >>>> Repeat this process with a multi-line fix and the whole automated >>>> merge process breaks down and I have to carefully figure everything >>>> out by hand. >>>> >>>> The merge process seems to be unaware of the newly created file B. No >>>> patches or conflict ever end up in it. >>>> >>> >>> Can you provide a test case or at least a list of commands which you are >>> issuing? You complain about "merge", but you say you are "applying a >>> patch". Are you merging that patch from another branch, or are you >>> really applying it as a patch (git-apply/cherry-pick/rebase/what-not)? >> >> What git command does stgit use internally on push/pop? >> >> It's the stg push of a patch creating a split on top of a change to >> the section that is going to end up in file B that causes the problem. > > I see. So it's really rebasing/applying here rather then merging. I > don't think they have the necessary info in order to do content-based > patching across file boundaries.
Are there git commands that can do this properly? stgit is just a bunch of Python executing git commands, they can change which commands are getting called.
> > Michael >
-- Jon Smirl jonsmirl@gmail.com