summaryrefslogtreecommitdiff
path: root/cache.h
diff options
context:
space:
mode:
authorLibravatar Jeff King <peff@peff.net>2012-03-26 15:51:50 -0400
committerLibravatar Junio C Hamano <gitster@pobox.com>2012-03-26 12:59:04 -0700
commite339aa92ae2db194a3d5738cb3aee6d8b3bf7b10 (patch)
treecf5dd2ce2f41d750747c7539787e79af43cc50c8 /cache.h
parentpush: Provide situational hints for non-fast-forward errors (diff)
downloadtgif-e339aa92ae2db194a3d5738cb3aee6d8b3bf7b10.tar.xz
clean up struct ref's nonfastforward field
Each ref structure contains a "nonfastforward" field which is set during push to show whether the ref rewound history. Originally this was a single bit, but it was changed in f25950f (push: Provide situational hints for non-fast-forward errors) to an enum differentiating a non-ff of the current branch versus another branch. However, we never actually set the member according to the enum values, nor did we ever read it expecting anything but a boolean value. But we did use the side effect of declaring the enum constants to store those values in a totally different integer variable. The code as-is isn't buggy, but the enum declaration inside "struct ref" is somewhat misleading. Let's convert nonfastforward back into a single bit, and then define the NON_FF_* constants closer to where they would be used (they are returned via the "int *nonfastforward" parameter to transport_push, so we can define them there). 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.h5
1 files changed, 1 insertions, 4 deletions
diff --git a/cache.h b/cache.h
index 427b600267..35f30752c6 100644
--- a/cache.h
+++ b/cache.h
@@ -1009,6 +1009,7 @@ struct ref {
char *symref;
unsigned int force:1,
merge:1,
+ nonfastforward:1,
deletion:1;
enum {
REF_STATUS_NONE = 0,
@@ -1019,10 +1020,6 @@ struct ref {
REF_STATUS_REMOTE_REJECT,
REF_STATUS_EXPECTING_REPORT
} status;
- enum {
- NON_FF_HEAD = 1,
- NON_FF_OTHER
- } nonfastforward;
char *remote_status;
struct ref *peer_ref; /* when renaming */
char name[FLEX_ARRAY]; /* more */