Could be that p4merge has been incorrectly configured on which files to use
for what. Have you tried configuring and using another tool?
Here's a recipe for configuring
Before you retry, you should remove any work tree changes and reset back to
where you were before you started merging (be careful that you don't lose
any important uncommitted work).
Here's another tool you could try to set up (assuming you are on
Windows): https://sourcegear.com/diffmerge/downloads.php - how to
If none of the work for you, please share your Git version, and git config
-l ouput. Some example files would be nice too. Perhaps you can try
inducing the same problem in a public Git repository.
On Tuesday, April 15, 2014 9:00:11 PM UTC+2, Michael Power wrote:
> The poor merge tool (p4merge) is suggesting that I can keep the "BASE"
> file changes or keep the changes from the left or right versions. But
> those "BASE" file changes are not the BASE file changes instead they are
> random merge annotations erroneously entered into the BASE file. The merge
> annotations should be and are present in the target file.
> On Tuesday, April 15, 2014 11:28:39 AM UTC-7, Michael Power wrote:
>> I am merging code from one release to another. It has some medium level
>> conflicts. I would be able to sit and resolve them if I could get the
>> merge tools to work correctly. When I run a mergetool like p4merge,
>> instead of seeing the BASE file as the contents of the file before either
>> changes were made I instead get an annotated file. This file has the base
>> state plus merge conflict annotations around the conflicting regions. This
>> destroys any chance of the mergetool being able to present a sensible
>> merge. I would have to do all the work by hand.
>> An example is with a pom.xml file that I am merging. The path to the
>> parent pom was changed on one side. The version of the pom was changed on
>> the other. This should be a trivial conflict to resolve. In this case the
>> file in questions is /build-tools/pom.xml. I would expect and I do find
>> merge annotations in this file:
>> grep -E '(^==)|(^>>)|(^<<)' pom.xml
>>> <<<<<<< HEAD
>>> >>>>>>> ToBisque
>> I would not expect to find merge annotations in the base file, but I do:
>>> grep -E '(^==)|(^>>)|(^<<)' pom.xml.BASE.9944.xml
>> <<<<<<< Temporary merge branch 1
>> >>>>>>> Temporary merge branch 2
>> Now I thought, maybe I made a mistake earlier and committed merge
>> annotations and later removed them. So I took a look at the actual merge
>> base file:
>>> git merge-base HEAD ToBisque
>> git show 4abad03f105d8bd470ef602ad74d5f03123bc3ad:pom.xml | grep -E
>> But there are no merge annotations in the file in the repo.
>> Why am I getting merge annotations in my BASE file, who do I remove it so
>> that my merge tools can provide me a clean diff between LOCAL, REMOTE, and
You received this message because you are subscribed to the Google Groups "Git
for human beings" group.
To unsubscribe from this group and stop receiving emails from it, send an email
For more options, visit https://groups.google.com/d/optout.