* how to ignore merge conflicts?
@ 2006-10-30 19:48 Len Brown
2006-10-30 19:53 ` Shawn Pearce
` (2 more replies)
0 siblings, 3 replies; 5+ messages in thread
From: Len Brown @ 2006-10-30 19:48 UTC (permalink / raw)
To: git
Sometimes when a multiple-file merge give conflicts, I don't want to edit
one of the resulting <<<<<=====>>>>> files.
Instead, I just want to choose the version of that particular file that
existed in one of the two merged branches and commit that along with
the rest of the merge.
How to do this?
thanks,
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: how to ignore merge conflicts?
2006-10-30 19:48 how to ignore merge conflicts? Len Brown
@ 2006-10-30 19:53 ` Shawn Pearce
2006-10-30 20:06 ` Jakub Narebski
2006-10-30 20:29 ` Linus Torvalds
2 siblings, 0 replies; 5+ messages in thread
From: Shawn Pearce @ 2006-10-30 19:53 UTC (permalink / raw)
To: Len Brown; +Cc: git
Len Brown <len.brown@intel.com> wrote:
> Sometimes when a multiple-file merge give conflicts, I don't want to edit
> one of the resulting <<<<<=====>>>>> files.
> Instead, I just want to choose the version of that particular file that
> existed in one of the two merged branches and commit that along with
> the rest of the merge.
>
> How to do this?
Your branch is in stage 2 and the branch you are pulling is in
stage 3. So if I ran:
git pull . other
then my HEAD before the pull is stage 2 and other is stage 3.
You can use checkout-index to get your version (stage 2) or the
other version (stage 3):
git checkout-index -f --stage=2 .../path; # mine
git checkout-index -f --stage=3 .../path; # other
then just make sure you update-index before you commit (git commit
-a would do the trick too).
--
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: how to ignore merge conflicts?
2006-10-30 19:48 how to ignore merge conflicts? Len Brown
2006-10-30 19:53 ` Shawn Pearce
@ 2006-10-30 20:06 ` Jakub Narebski
2006-10-30 20:29 ` Linus Torvalds
2 siblings, 0 replies; 5+ messages in thread
From: Jakub Narebski @ 2006-10-30 20:06 UTC (permalink / raw)
To: git
Len Brown wrote:
> Sometimes when a multiple-file merge give conflicts, I don't want to edit
> one of the resulting <<<<<=====>>>>> files.
> Instead, I just want to choose the version of that particular file that
> existed in one of the two merged branches and commit that along with
> the rest of the merge.
>
> How to do this?
$ git cat-file -p :<n>:<filename> > <filename>
$ git update-index <filename>
where <n> is one of stages, 1 or 2 to choose one branch version if I
remember correctly. Check out documentation.
Or just use 'ours' as merge strategy...
--
Jakub Narebski
Warsaw, Poland
ShadeHawk on #git
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: how to ignore merge conflicts?
2006-10-30 19:48 how to ignore merge conflicts? Len Brown
2006-10-30 19:53 ` Shawn Pearce
2006-10-30 20:06 ` Jakub Narebski
@ 2006-10-30 20:29 ` Linus Torvalds
2006-11-01 7:51 ` Len Brown
2 siblings, 1 reply; 5+ messages in thread
From: Linus Torvalds @ 2006-10-30 20:29 UTC (permalink / raw)
To: Len Brown; +Cc: git
On Mon, 30 Oct 2006, Len Brown wrote:
>
> Sometimes when a multiple-file merge give conflicts, I don't want to edit
> one of the resulting <<<<<=====>>>>> files.
> Instead, I just want to choose the version of that particular file that
> existed in one of the two merged branches and commit that along with
> the rest of the merge.
>
> How to do this?
Well, if you promise not to do what has happened several times before in
people who maintained their own CVS trees, for example (which is to just
ignore all merge problems, and force _their_ version, even though the
reason for the merge problem was that somebody else had fixed a bug, that
was now unfixed by the "merge"), here's the trivial way to do it:
git checkout HEAD the/file/you/wanted.c
(or, if you want to take it from the source you are merging _from_, just
use MERGE_HEAD instead of HEAD).
And you're done.
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: how to ignore merge conflicts?
2006-10-30 20:29 ` Linus Torvalds
@ 2006-11-01 7:51 ` Len Brown
0 siblings, 0 replies; 5+ messages in thread
From: Len Brown @ 2006-11-01 7:51 UTC (permalink / raw)
To: Linus Torvalds; +Cc: git
On Monday 30 October 2006 15:29, Linus Torvalds wrote:
>
> On Mon, 30 Oct 2006, Len Brown wrote:
> >
> > Sometimes when a multiple-file merge give conflicts, I don't want to edit
> > one of the resulting <<<<<=====>>>>> files.
> > Instead, I just want to choose the version of that particular file that
> > existed in one of the two merged branches and commit that along with
> > the rest of the merge.
> >
> > How to do this?
>
> Well, if you promise not to do what has happened several times before in
> people who maintained their own CVS trees, for example (which is to just
> ignore all merge problems, and force _their_ version, even though the
> reason for the merge problem was that somebody else had fixed a bug, that
> was now unfixed by the "merge"), here's the trivial way to do it:
>
> git checkout HEAD the/file/you/wanted.c
>
> (or, if you want to take it from the source you are merging _from_, just
> use MERGE_HEAD instead of HEAD).
>
> And you're done.
Thank you. This worked, and it is simple enough that I can actually remember it:-)
No, obviously I wouldn't intentionally blow away a bug fix.
I believe this scenario is actually quite common, and this action justified.
Indeed, many years ago Larry McVoy ("He That Must Not Be Named" on this list?:-)
added commands to the nse-lite merge dialogue at my request to handle exactly this case.
Tonight, for example, I merged a big cleanup patch that removed a bunch of
unnecessary casts from many files, with a branch that includes a complete
re-write of one of those files.
So here I chose the re-written version of the file and discarded the cleaned up version
that now no longer makes any sense -- while keeping the rest of the cleanup patch
that does still make sense. Yes, key here is knowing that there was not a bugfix
bundled along in the branch with the cleanup that got thrown away.
thanks,
-Len
ps. Maybe residing at the "top of the tree" as you do, other folks do a lot of
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2006-11-01 7:48 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-10-30 19:48 how to ignore merge conflicts? Len Brown
2006-10-30 19:53 ` Shawn Pearce
2006-10-30 20:06 ` Jakub Narebski
2006-10-30 20:29 ` Linus Torvalds
2006-11-01 7:51 ` Len Brown
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).