sha1_file: rename LOOKUP_UNKNOWN_OBJECT

The LOOKUP_UNKNOWN_OBJECT flag was introduced in commit 46f0344 ("sha1_file: support reading from a loose object of unknown type", 2015-05-03) in order to support a feature in cat-file subsequently introduced in commit 39e4ae3 ("cat-file: teach cat-file a '--allow-unknown-type' option", 2015-05-03). Despite its name and location in cache.h, this flag is used neither in read_sha1_file_extended() nor in any of the lookup functions, but used only in sha1_object_info_extended(). Therefore rename this flag to OBJECT_INFO_ALLOW_UNKNOWN_TYPE, taking the name of the cat-file flag that invokes this feature, and move it closer to the declaration of sha1_object_info_extended(). Also add documentation for this flag. OBJECT_INFO_ALLOW_UNKNOWN_TYPE is defined to 2, not 1, to avoid conflicting with LOOKUP_REPLACE_OBJECT. Avoidance of this conflict is necessary because sha1_object_info_extended() supports both flags. Signed-off-by: Jonathan Tan <jonathantanmy@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>

Jonathan Tan committed Jun 21, 2017 at 17:40 UTC 19fc5e84a70e0dc6d6b3a279fa549b4e522ee33b
3 files changed +5 -4
builtin/cat-file.c
+1 -1
@@ -60,7 +60,7 @@ static int cat_one_file(int opt, const char *exp_type, const char *obj_name,
60 const char *path = force_path;
61
62 if (unknown_type)
63 - flags |= LOOKUP_UNKNOWN_OBJECT;
63 + flags |= OBJECT_INFO_ALLOW_UNKNOWN_TYPE;
64
65 if (get_sha1_with_context(obj_name, GET_SHA1_RECORD_PATH,
66 oid.hash, &obj_context))
cache.h
+2 -1
@@ -1207,7 +1207,6 @@ extern char *xdg_cache_home(const char *filename);
1207
1208 /* object replacement */
1209 #define LOOKUP_REPLACE_OBJECT 1
1210 -#define LOOKUP_UNKNOWN_OBJECT 2
1210 extern void *read_sha1_file_extended(const unsigned char *sha1, enum object_type *type, unsigned long *size, unsigned flag);
1211 static inline void *read_sha1_file(const unsigned char *sha1, enum object_type *type, unsigned long *size)
1212 {
@@ -1866,6 +1865,8 @@ struct object_info {
1865 */
1866 #define OBJECT_INFO_INIT {NULL}
1867
1868 +/* Allow reading from a loose object file of unknown/bogus type */
1869 +#define OBJECT_INFO_ALLOW_UNKNOWN_TYPE 2
1870 extern int sha1_object_info_extended(const unsigned char *, struct object_info *, unsigned flags);
1871 extern int packed_object_info(struct packed_git *pack, off_t offset, struct object_info *);
1872
sha1_file.c
+2 -2
@@ -1964,7 +1964,7 @@ static int parse_sha1_header_extended(const char *hdr, struct object_info *oi,
1964 * we're obtaining the type using '--allow-unknown-type'
1965 * option.
1966 */
1967 - if ((flags & LOOKUP_UNKNOWN_OBJECT) && (type < 0))
1967 + if ((flags & OBJECT_INFO_ALLOW_UNKNOWN_TYPE) && (type < 0))
1968 type = 0;
1969 else if (type < 0)
1970 die("invalid object type");
@@ -2941,7 +2941,7 @@ static int sha1_loose_object_info(const unsigned char *sha1,
2941 return -1;
2942 if (oi->disk_sizep)
2943 *oi->disk_sizep = mapsize;
2944 - if ((flags & LOOKUP_UNKNOWN_OBJECT)) {
2944 + if ((flags & OBJECT_INFO_ALLOW_UNKNOWN_TYPE)) {
2945 if (unpack_sha1_header_to_strbuf(&stream, map, mapsize, hdr, sizeof(hdr), &hdrbuf) < 0)
2946 status = error("unable to unpack %s header with --allow-unknown-type",
2947 sha1_to_hex(sha1));