ll-merge: make flag easier to populate
authorJonathan Nieder <jrnieder@gmail.com>
Thu, 5 Aug 2010 11:17:38 +0000 (06:17 -0500)
committerJunio C Hamano <gitster@pobox.com>
Fri, 6 Aug 2010 16:20:01 +0000 (09:20 -0700)
commit73cf7f713da4fc797e2393a9e490ad4ec9466c53
tree8d9c9fed8bfb98d0041ec9b4e8c125b5d4f26678
parent24d113ec11d9948cedee4ba4687d0775e36b65f9
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>
Documentation/technical/api-merge.txt
ll-merge.c
ll-merge.h
merge-recursive.c