summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/refs.c11
-rw-r--r--src/refs.h1
2 files changed, 12 insertions, 0 deletions
diff --git a/src/refs.c b/src/refs.c
index c0e460cc3..6cc937fda 100644
--- a/src/refs.c
+++ b/src/refs.c
@@ -952,6 +952,17 @@ int git_reference_is_remote(git_reference *ref)
return git_reference__is_remote(ref->name);
}
+int git_reference__is_tag(const char *ref_name)
+{
+ return git__prefixcmp(ref_name, GIT_REFS_TAGS_DIR) == 0;
+}
+
+int git_reference_is_tag(git_reference *ref)
+{
+ assert(ref);
+ return git_reference__is_tag(ref->name);
+}
+
static int peel_error(int error, git_reference *ref, const char* msg)
{
giterr_set(
diff --git a/src/refs.h b/src/refs.h
index f487ee3fc..cb75abbe5 100644
--- a/src/refs.h
+++ b/src/refs.h
@@ -67,6 +67,7 @@ int git_reference__update_terminal(git_repository *repo, const char *ref_name, c
int git_reference__is_valid_name(const char *refname, unsigned int flags);
int git_reference__is_branch(const char *ref_name);
int git_reference__is_remote(const char *ref_name);
+int git_reference__is_tag(const char *ref_name);
/**
* Lookup a reference by name and try to resolve to an OID.