From: Philip Oakley Date: Mon, 28 Oct 2019 22:13:02 GMT Subject: Re: conflict markers on recursive strategy with diff3 enabled Message-ID: In-Reply-To: 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 ancestors >>>>>>>>>> Temporary merge branch 2 > ======= >>>>>>>> 8b79343fc0^2 > That 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