Re: Question about pre-merge and git merge octopus strategy

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Elijah Newren <newren@xxxxxxxxx> 于2022年5月10日周二 15:07写道:
>
> On Sun, May 8, 2022 at 7:44 AM ZheNing Hu <adlternative@xxxxxxxxx> wrote:
> >
> > Elijah Newren <newren@xxxxxxxxx> 于2022年5月7日周六 12:09写道:
> > >
> > > On Fri, May 6, 2022 at 10:24 AM Christian Couder
> > > <christian.couder@xxxxxxxxx> wrote:
> > > >
> > > > On Fri, May 6, 2022 at 10:15 AM ZheNing Hu <adlternative@xxxxxxxxx> wrote:
> [...]
> > > > > I think it's not useful for git merge-octopus, because if we meet a
> > > > > merge conflict, we can't find
> > > > > MERGE_HEAD at all! How can we abort this conflict merge?
> > >
> > > MERGE_HEAD doesn't have anything to do with aborting the conflict
> > > resolution step.  When you need to abort, the thing you want to go
> > > back to is HEAD (which represents the commit you had checked out and
> > > were merging the other stuff into), not MERGE_HEAD (which represents
> > > the branch or branches you were merging into HEAD).
> > >
> >
> > Thanks for clarifying. As I reply to Christian, when I just use "git
> > merge A B C" happily,
> > and there is a conflict, so I try "git merge --abort" as usual, but it
> > can not work... git tell me:
> >
> > fatal: There is no merge to abort (MERGE_HEAD missing).
>
> Sounds like a bug to me; .git/MERGE_HEAD should be written.  That file
> is created for me when I set up a simple octopus merge that has
> conflicts.  Do you have a set of steps others can use to reproduce the
> problem you are seeing?

Let me minimally reproduce this question (with git 2.33.0):

#!/bin/bash

rm -rf test-repo
git init test-repo
cd test-repo
git branch -m main
echo base > base
git add .
git commit -m "base"
git branch -c dev-1
git branch -c dev-2
echo main > main
git add .
git commit -m "main change"
git checkout dev-1
echo dev-1 >> base
git add .
git commit -m "dev-1 change"
git checkout dev-2
echo dev-2 >> base
git add .
git commit -m "dev-2 change"
git checkout main
echo main >> base
git add .
git commit -m "main change"
git merge dev-1 dev-2
file .git/MERGE_HEAD

which output:

.git/MERGE_HEAD: cannot open `.git/MERGE_HEAD' (No such file or directory)




[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux