Re: conflict markers on recursive strategy with diff3 enabled
From: Philip Oakley <hidden>
Date: 2019-10-28 22:13:05
Hi Edmundo , On 25/10/2019 01:13, Edmundo Carmona Antoranz wrote:
Hi! I'm sitting down hunting for conflict examples and while looking through past conflicts in git I found one that has a format that I hadn't seen before. When merging the parents of 8b79343fc0 we get this: <<<<<<< HEAD /* * Unlink the .pack and associated extension files. * Does not unlink if 'force_delete' is false and the pack-file is * marked as ".keep". */ extern void unlink_pack_path(const char *pack_name, int force_delete); ||||||| merged common ancestorsquoted
quoted
quoted
quoted
quoted
quoted
quoted
quoted
quoted
Temporary merge branch 2=======quoted
quoted
quoted
quoted
quoted
quoted
quoted
8b79343fc0^2That is with merge.conflictStyle set to diff3. What I would like to know is if the details about how the additional information that is not normally seen on a conflict has to be interpreted (to be read as "the part about the temporary branches").
- "Temporary merge branch" I believe this happens when no merge-base is found between the two lines of development that are being merged, so a fake merge-base is created to allow the regular 3-way merge to occur. It may be described in the technical section of the Documentation.
I see some explanation about it in [1] but when checking inside "git help merge" all I see is that when you are using diff3 you will get the content of the parent but there's more stuff than just that. Is it documented somewhere? Thanks! [1]https://stackoverflow.com/questions/31392513/git-diff3-conflict-style-temporary-merge-branch
Philip