Browse Source

object.h: centralize object flag allocation

While the field "flags" is mainly used by the revision walker, it is
also used in many other places. Centralize the whole flag allocation to
one place for a better overview (and easier to move flags if we have
too).

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
maint
Nguyễn Thái Ngọc Duy 11 years ago committed by Junio C Hamano
parent
commit
208acbfb82
  1. 3
      bisect.c
  2. 2
      builtin/blame.c
  3. 1
      bundle.c
  4. 2
      commit.c
  5. 1
      fetch-pack.c
  6. 3
      http-push.c
  7. 13
      object.h
  8. 1
      revision.h
  9. 2
      sha1_name.c
  10. 2
      upload-pack.c
  11. 1
      walker.c

3
bisect.c

@ -21,8 +21,7 @@ static const char *argv_checkout[] = {"checkout", "-q", NULL, "--", NULL}; @@ -21,8 +21,7 @@ static const char *argv_checkout[] = {"checkout", "-q", NULL, "--", NULL};
static const char *argv_show_branch[] = {"show-branch", NULL, NULL};
static const char *argv_update_ref[] = {"update-ref", "--no-deref", "BISECT_HEAD", NULL, NULL};

/* bits #0-15 in revision.h */

/* Remember to update object flag allocation in object.h */
#define COUNTED (1u<<16)

/*

2
builtin/blame.c

@ -74,7 +74,7 @@ static unsigned blame_copy_score; @@ -74,7 +74,7 @@ static unsigned blame_copy_score;
#define BLAME_DEFAULT_MOVE_SCORE 20
#define BLAME_DEFAULT_COPY_SCORE 40

/* bits #0..7 in revision.h, #8..11 used for merge_bases() in commit.c */
/* Remember to update object flag allocation in object.h */
#define METAINFO_SHOWN (1u<<12)
#define MORE_THAN_ONE_PATH (1u<<13)


1
bundle.c

@ -124,6 +124,7 @@ static int list_refs(struct ref_list *r, int argc, const char **argv) @@ -124,6 +124,7 @@ static int list_refs(struct ref_list *r, int argc, const char **argv)
return 0;
}

/* Remember to update object flag allocation in object.h */
#define PREREQ_MARK (1u<<16)

int verify_bundle(struct bundle_header *header, int verbose)

2
commit.c

@ -731,7 +731,7 @@ void sort_in_topological_order(struct commit_list **list, enum rev_sort_order so @@ -731,7 +731,7 @@ void sort_in_topological_order(struct commit_list **list, enum rev_sort_order so

/* merge-base stuff */

/* bits #0..15 in revision.h */
/* Remember to update object flag allocation in object.h */
#define PARENT1 (1u<<16)
#define PARENT2 (1u<<17)
#define STALE (1u<<18)

1
fetch-pack.c

@ -26,6 +26,7 @@ static int agent_supported; @@ -26,6 +26,7 @@ static int agent_supported;
static struct lock_file shallow_lock;
static const char *alternate_shallow_file;

/* Remember to update object flag allocation in object.h */
#define COMPLETE (1U << 0)
#define COMMON (1U << 1)
#define COMMON_REF (1U << 2)

3
http-push.c

@ -64,8 +64,7 @@ enum XML_Status { @@ -64,8 +64,7 @@ enum XML_Status {
#define LOCK_TIME 600
#define LOCK_REFRESH 30

/* bits #0-15 in revision.h */

/* Remember to update object flag allocation in object.h */
#define LOCAL (1u<<16)
#define REMOTE (1u<<17)
#define FETCHING (1u<<18)

13
object.h

@ -26,6 +26,19 @@ struct object_array { @@ -26,6 +26,19 @@ struct object_array {
#define OBJECT_ARRAY_INIT { 0, 0, NULL }

#define TYPE_BITS 3
/*
* object flag allocation:
* revision.h: 0---------10
* fetch-pack.c: 0---4
* walker.c: 0-2
* upload-pack.c: 11----------------19
* builtin/blame.c: 12-13
* bisect.c: 16
* bundle.c: 16
* http-push.c: 16-----19
* commit.c: 16-----19
* sha1_name.c: 20
*/
#define FLAG_BITS 27

/*

1
revision.h

@ -7,6 +7,7 @@ @@ -7,6 +7,7 @@
#include "commit.h"
#include "diff.h"

/* Remember to update object flag allocation in object.h */
#define SEEN (1u<<0)
#define UNINTERESTING (1u<<1)
#define TREESAME (1u<<2)

2
sha1_name.c

@ -819,6 +819,8 @@ static int get_sha1_1(const char *name, int len, unsigned char *sha1, unsigned l @@ -819,6 +819,8 @@ static int get_sha1_1(const char *name, int len, unsigned char *sha1, unsigned l
* For future extension, ':/!' is reserved. If you want to match a message
* beginning with a '!', you have to repeat the exclamation mark.
*/

/* Remember to update object flag allocation in object.h */
#define ONELINE_SEEN (1u<<20)

static int handle_one_ref(const char *path,

2
upload-pack.c

@ -17,7 +17,7 @@ @@ -17,7 +17,7 @@

static const char upload_pack_usage[] = "git upload-pack [--strict] [--timeout=<n>] <dir>";

/* bits #0..7 in revision.h, #8..10 in commit.c */
/* Remember to update object flag allocation in object.h */
#define THEY_HAVE (1u << 11)
#define OUR_REF (1u << 12)
#define WANTED (1u << 13)

1
walker.c

@ -60,6 +60,7 @@ static int process_tree(struct walker *walker, struct tree *tree) @@ -60,6 +60,7 @@ static int process_tree(struct walker *walker, struct tree *tree)
return 0;
}

/* Remember to update object flag allocation in object.h */
#define COMPLETE (1U << 0)
#define SEEN (1U << 1)
#define TO_SCAN (1U << 2)

Loading…
Cancel
Save