summaryrefslogtreecommitdiff
path: root/Documentation/technical/api-merge.txt
diff options
context:
space:
mode:
authorJonathan Nieder <jrnieder@gmail.com>2010-08-05 11:17:38 (GMT)
committerJunio C Hamano <gitster@pobox.com>2010-08-06 16:20:01 (GMT)
commit73cf7f713da4fc797e2393a9e490ad4ec9466c53 (patch)
tree8d9c9fed8bfb98d0041ec9b4e8c125b5d4f26678 /Documentation/technical/api-merge.txt
parent24d113ec11d9948cedee4ba4687d0775e36b65f9 (diff)
downloadgit-73cf7f713da4fc797e2393a9e490ad4ec9466c53.zip
git-73cf7f713da4fc797e2393a9e490ad4ec9466c53.tar.gz
git-73cf7f713da4fc797e2393a9e490ad4ec9466c53.tar.bz2
ll-merge: make flag easier to populate
ll_merge() takes its options in a flag word, which has a few advantages: - options flags can be cheaply passed around in registers, while an option struct passed by pointer cannot; - callers can easily pass 0 without trouble for no options, while an option struct passed by value would not allow that. The downside is that code to populate and access the flag word can be somewhat opaque. Mitigate that with a few macros. Cc: Avery Pennarun <apenwarr@gmail.com> Cc: Bert Wesarg <bert.wesarg@googlemail.com> Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'Documentation/technical/api-merge.txt')
-rw-r--r--Documentation/technical/api-merge.txt11
1 files changed, 7 insertions, 4 deletions
diff --git a/Documentation/technical/api-merge.txt b/Documentation/technical/api-merge.txt
index 01a89d6..a7e050b 100644
--- a/Documentation/technical/api-merge.txt
+++ b/Documentation/technical/api-merge.txt
@@ -49,12 +49,15 @@ supports this.
The `flag` parameter is a bitfield:
- - The least significant bit indicates whether this is an internal
- merge to consolidate ancestors for a recursive merge.
+ - The `LL_OPT_VIRTUAL_ANCESTOR` bit indicates whether this is an
+ internal merge to consolidate ancestors for a recursive merge.
- - The next two bits allow local conflicts to be automatically
+ - The `LL_OPT_FAVOR_MASK` bits allow local conflicts to be automatically
resolved in favor of one side or the other (as in 'git merge-file'
- `--ours`/`--theirs`/`--union` for 01, 10, and 11, respectively).
+ `--ours`/`--theirs`/`--union`).
+ They can be populated by `create_ll_flag`, whose argument can be
+ `XDL_MERGE_FAVOR_OURS`, `XDL_MERGE_FAVOR_THEIRS`, or
+ `XDL_MERGE_FAVOR_UNION`.
Everything else
---------------