Andrew's git
/
gitweb.git
/ diff
summary
|
log
|
commit
| diff |
tree
commit
grep
author
committer
pickaxe
?
re
ref_resolves_to_object(): new function
author
Michael Haggerty
<mhagger@alum.mit.edu>
Sat, 18 Jun 2016 04:15:14 +0000
(06:15 +0200)
committer
Junio C Hamano
<gitster@pobox.com>
Mon, 20 Jun 2016 18:38:19 +0000
(11:38 -0700)
Extract new function ref_resolves_to_object() from
entry_resolves_to_object(). It can be used even if there is no ref_entry
at hand.
Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
refs/files-backend.c
patch
|
blob
|
history
raw
|
patch
|
inline
| side by side (parent:
ffeef64
)
diff --git
a/refs/files-backend.c
b/refs/files-backend.c
index c24a78ea8ebdade20e5524ea8b1189ff3dfbca1a..62280b5c707b9dab4069dbc0765b2fe7cec30ea0 100644
(file)
--- a/
refs/files-backend.c
+++ b/
refs/files-backend.c
@@
-513,21
+513,34
@@
static void sort_ref_dir(struct ref_dir *dir)
}
/*
}
/*
- * Return true if
f the reference described by entry can be resolved to
- *
an object in the database. Emit a warning if the referred-to
- *
object does not exist
.
+ * Return true if
refname, which has the specified oid and flags, can
+ *
be resolved to an object in the database. If the referred-to object
+ *
does not exist, emit a warning and return false
.
*/
*/
-static int entry_resolves_to_object(struct ref_entry *entry)
+static int ref_resolves_to_object(const char *refname,
+ const struct object_id *oid,
+ unsigned int flags)
{
{
- if (
entry->flag
& REF_ISBROKEN)
+ if (
flags
& REF_ISBROKEN)
return 0;
return 0;
- if (!has_sha1_file(
entry->u.value.oid.
hash)) {
- error("%s does not point to a valid object!",
entry->
name);
+ if (!has_sha1_file(
oid->
hash)) {
+ error("%s does not point to a valid object!",
ref
name);
return 0;
}
return 1;
}
return 0;
}
return 1;
}
+/*
+ * Return true if the reference described by entry can be resolved to
+ * an object in the database; otherwise, emit a warning and return
+ * false.
+ */
+static int entry_resolves_to_object(struct ref_entry *entry)
+{
+ return ref_resolves_to_object(entry->name,
+ &entry->u.value.oid, entry->flag);
+}
+
/*
* current_ref is a performance hack: when iterating over references
* using the for_each_ref*() functions, current_ref is set to the
/*
* current_ref is a performance hack: when iterating over references
* using the for_each_ref*() functions, current_ref is set to the