diff options
author | Linus Torvalds <torvalds@g5.osdl.org> | 2005-07-05 11:31:32 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2005-07-05 11:31:32 -0700 |
commit | 723c31fea2f1c4994de837bda9022ffa8b6de1bb (patch) | |
tree | 4c8c636dd58a7489cf033f3ac8682aeab453385d /refs.c | |
parent | 7a662e896bcd391265477e304d7af6e5d2ca1deb (diff) | |
download | git-723c31fea2f1c4994de837bda9022ffa8b6de1bb.tar.gz |
Add "git_path()" and "head_ref()" helper functions.
"git_path()" returns a static pathname pointer into the git directory
using a printf-like format specifier.
"head_ref()" works like "for_each_ref()", except for just the HEAD.
Diffstat (limited to 'refs.c')
-rw-r--r-- | refs.c | 9 |
1 files changed, 9 insertions, 0 deletions
@@ -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)) + fn(headpath, sha1); + return do_for_each_ref(get_refs_directory(), fn); +} + int for_each_ref(int (*fn)(const char *path, const unsigned char *sha1)) { return do_for_each_ref(get_refs_directory(), fn); |