diff options
author | Jonathan Nieder <jrnieder@gmail.com> | 2010-11-06 06:46:52 -0500 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2010-11-10 11:07:04 -0800 |
commit | 6bab74e7fb89b7427e5ef24b48a07fe9450c40e7 (patch) | |
tree | df81e3ebbc067e2639d68b77481bda367aa4f772 /sha1_name.c | |
parent | 33f239365cce2682a1faac0d5670d684aa1981ad (diff) | |
download | git-6bab74e7fb89b7427e5ef24b48a07fe9450c40e7.tar.gz |
strbuf: move strbuf_branchname to sha1_name.c
strbuf_branchname is a thin wrapper around interpret_branch_name
from sha1_name.o. Most strbuf.o users do not need it.
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'sha1_name.c')
-rw-r--r-- | sha1_name.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/sha1_name.c b/sha1_name.c index 484081de82..32522c0fe5 100644 --- a/sha1_name.c +++ b/sha1_name.c @@ -934,6 +934,24 @@ int interpret_branch_name(const char *name, struct strbuf *buf) return len; } +int strbuf_branchname(struct strbuf *sb, const char *name) +{ + int len = strlen(name); + if (interpret_branch_name(name, sb) == len) + return 0; + strbuf_add(sb, name, len); + return len; +} + +int strbuf_check_branch_ref(struct strbuf *sb, const char *name) +{ + strbuf_branchname(sb, name); + if (name[0] == '-') + return CHECK_REF_FORMAT_ERROR; + strbuf_splice(sb, 0, 0, "refs/heads/", 11); + return check_ref_format(sb->buf); +} + /* * This is like "get_sha1_basic()", except it allows "sha1 expressions", * notably "xyz^" for "parent of xyz" |