Code

[PATCH] Fixes a problem with --merge-order A B (A is linear descendent of a merge B)
[git.git] / refs.c
diff --git a/refs.c b/refs.c
index 7ccd721a4abdfec68fa9cab1f380569152fe61e9..09c9f904f0a5e1050ad1014a65aaef1e3d84e90a 100644 (file)
--- a/refs.c
+++ b/refs.c
@@ -68,6 +68,15 @@ static int do_for_each_ref(const char *base, int (*fn)(const char *path, const u
        return retval;
 }
 
+int head_ref(int (*fn)(const char *path, const unsigned char *sha1))
+{
+       unsigned char sha1[20];
+       const char *headpath = git_path("HEAD");
+       if (!read_ref(headpath, sha1))
+               return fn(headpath, sha1);
+       return 0;
+}
+
 int for_each_ref(int (*fn)(const char *path, const unsigned char *sha1))
 {
        return do_for_each_ref(get_refs_directory(), fn);