path: root/merge-recursive.h
diff options
authorJonathan Nieder <>2010-03-21 00:41:38 (GMT)
committerJunio C Hamano <>2010-03-21 03:36:11 (GMT)
commit4c5868f43d1ec2573f4f511d732bc00d56accc70 (patch)
tree914ef4ec42db899cb7f4449da1df49d13bb48d57 /merge-recursive.h
parente44b3851c9d5fc840e8f33fb76f473a71b658d10 (diff)
merge_trees(): add ancestor label parameter for diff3-style output
Commands using the merge_trees() machinery will present conflict hunks in output something like what ‘diff3 -m’ produces if the merge.conflictstyle configuration option is set to diff3. The output lacks the name of the merge base on the ||||||| line of the output, and tools can misparse the conflict hunks without it. Add a new o->ancestor parameter to merge_trees() for use as a label for the ancestor in conflict hunks. If o->ancestor is NULL, the output format is as before. All callers pass NULL for now. If o->ancestor is non-NULL and both branches renamed the base file to the same name, that name is included in the conflict hunk labels. Even if o->ancestor is NULL I think this would be a good change, but this patch only does it in the non-NULL case to ensure the output format does not change where it might matter. Requested-by: Stefan Monnier <> Signed-off-by: Jonathan Nieder <> Signed-off-by: Junio C Hamano <>
Diffstat (limited to 'merge-recursive.h')
1 files changed, 1 insertions, 0 deletions
diff --git a/merge-recursive.h b/merge-recursive.h
index be8410a..d1192f5 100644
--- a/merge-recursive.h
+++ b/merge-recursive.h
@@ -4,6 +4,7 @@
#include "string-list.h"
struct merge_options {
+ const char *ancestor;
const char *branch1;
const char *branch2;
enum {