sha1-name: introduce a get_oid() function

The get_oid() function is equivalent to the get_sha1() function, but uses a struct object_id instead. Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>

brian m. carlson committed Apr 17, 2016 at 23:10 UTC 2764fd93ad091a1acbe07b4a165ae3489cf46c15
2 files changed +11
cache.h
+2
@@ -1124,6 +1124,8 @@ extern int get_sha1_blob(const char *str, unsigned char *sha1);
1124 extern void maybe_die_on_misspelt_object_name(const char *name, const char *prefix);
1125 extern int get_sha1_with_context(const char *str, unsigned flags, unsigned char *sha1, struct object_context *orc);
1126
1127 +extern int get_oid(const char *str, struct object_id *oid);
1128 +
1129 typedef int each_abbrev_fn(const unsigned char *sha1, void *);
1130 extern int for_each_abbrev(const char *prefix, each_abbrev_fn, void *);
1131
sha1_name.c
+9
@@ -1214,6 +1214,15 @@ int get_sha1(const char *name, unsigned char *sha1)
1214 return get_sha1_with_context(name, 0, sha1, &unused);
1215 }
1216
1217 +/*
1218 + * This is like "get_sha1()", but for struct object_id.
1219 + */
1220 +int get_oid(const char *name, struct object_id *oid)
1221 +{
1222 + return get_sha1(name, oid->hash);
1223 +}
1224 +
1225 +
1226 /*
1227 * Many callers know that the user meant to name a commit-ish by
1228 * syntactical positions where the object name appears. Calling this