diff options
author | Jeff King <peff@peff.net> | 2013-05-11 18:15:59 +0200 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2013-05-12 15:23:48 -0700 |
commit | 900f2814b8da951a450f5762dabb1b248dd77abc (patch) | |
tree | 936ac5bd34c4d7ba6d879a209db80a2065364862 /cache.h | |
parent | 4ab90e7a5c46ce929ae8b3b7bbb5b276f2f60e0d (diff) | |
download | git-900f2814b8da951a450f5762dabb1b248dd77abc.tar.gz |
refactor "ref->merge" flag
Each "struct ref" has a boolean flag that is set by the
fetch code to determine whether the ref should be marked as
"not-for-merge" or not when we write it out to FETCH_HEAD.
It would be useful to turn this boolean into a tri-state,
with the third state meaning "do not bother writing it out
to FETCH_HEAD at all". That would let us add extra refs to
the set of refs to be stored (e.g., to store copies of
things we fetched) without impacting FETCH_HEAD.
This patch turns it into an enum that covers the tri-state
case, and hopefully makes the code more explicit and easier
to read.
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'cache.h')
-rw-r--r-- | cache.h | 14 |
1 files changed, 13 insertions, 1 deletions
@@ -1024,9 +1024,21 @@ struct ref { unsigned int force:1, forced_update:1, - merge:1, deletion:1, matched:1; + + /* + * Order is important here, as we write to FETCH_HEAD + * in numeric order. And the default NOT_FOR_MERGE + * should be 0, so that xcalloc'd structures get it + * by default. + */ + enum { + FETCH_HEAD_MERGE = -1, + FETCH_HEAD_NOT_FOR_MERGE = 0, + FETCH_HEAD_IGNORE = 1 + } fetch_head_status; + enum { REF_STATUS_NONE = 0, REF_STATUS_OK, |