Re: resolve (merge) problems
- From
Linus Torvalds <torvalds@osdl.org>
- Date
- Dec 2, 2005, 00:07 UTC
- Message-ID
- <Pine.LNX.4.64.0512011556480.3099@g5.osdl.org>
- In-Reply-To
- <20051201231844.59450.qmail@web31801.mail.mud.yahoo.com>
On Thu, 1 Dec 2005, Luben Tuikov wrote:
Show 11 quoted lines
> > $git resolve HEAD master "merge linus' tree" > Trying to merge 5666c0947ede0432ba5148570aa66ffb9febff5b into > 32df3299405fb7054b76346899f3db2fa29150fb using 458af5439fe7ae7d95ca14106844e61f0795166c. > Simple merge failed, trying Automatic merge > Removing arch/arm/configs/poodle_defconfig > Removing drivers/atm/atmdev_init.c > fatal: merge program failed > Automatic merge failed, fix up by hand > > How do I proceed from here?
Well, first off, you would probably have been better off with the smarter recursive merge instead of the old "git resolve":
git merge -s recursive "merge linus' tree" HEAD master
(the "-s recursive" isn't really needed, it _should_ be the default).
You can re-try that by doing a "git reset --hard" (to get rid of the partial merge) and just starting over.
> The output from git-diff-index is:
Don't. You'll see all the changes relative to HEAD, which _includes_ all the stuff that got cleanly merged.
Instead, do just a
git diff
or perhaps
git-diff-files --name-status
which will show much better what is going on. In this case, I suspect that the problem is that my branch removed "poodle_defconfig", and you had changes in it, no? Or maybe there were conflicts in atmdev_init.c, so they got left in an unmerged state..
Regardless, the git-diff-files interface should show you which files are unmerged and need to be fixed up.
Just fix them up: either remove them, or edit them to taste, and then do "git-update-index <filename>" (add the "--remove" option if you deleted the file), and then finish it off when you're happy with a "git commit".
That _should_ fix it all up.
Linus