summaryrefslogtreecommitdiff
path: root/src/branch.c
diff options
context:
space:
mode:
authornulltoken <emeric.fermas@gmail.com>2012-10-06 10:41:53 +0200
committernulltoken <emeric.fermas@gmail.com>2012-10-07 21:03:51 +0200
commit0c78f685ebeed293c666815b1668b8209f4ff258 (patch)
treed762c9fe275bd821a65c5d453b4c6c4ca8bbd914 /src/branch.c
parentf3cc78340a7a0d2dab8a38c48fc80c6c36419450 (diff)
downloadlibgit2-0c78f685ebeed293c666815b1668b8209f4ff258.tar.gz
branch: introduce git_branch_is_head()
Diffstat (limited to 'src/branch.c')
-rw-r--r--src/branch.c23
1 files changed, 23 insertions, 0 deletions
diff --git a/src/branch.c b/src/branch.c
index 103dfe621..3cee956f0 100644
--- a/src/branch.c
+++ b/src/branch.c
@@ -271,3 +271,26 @@ cleanup:
git_buf_free(&buf);
return error;
}
+
+int git_branch_is_head(
+ git_reference *branch)
+{
+ git_reference *head;
+ bool is_same = false;
+
+ assert(branch);
+
+ if (!git_reference_is_branch(branch))
+ return false;
+
+ if (git_repository_head(&head, git_reference_owner(branch)) < 0)
+ return -1;
+
+ is_same = strcmp(
+ git_reference_name(branch),
+ git_reference_name(head)) == 0;
+
+ git_reference_free(head);
+
+ return is_same;
+}