X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=refs.c;h=4c1fd470dd645cd28132efb6290e25cd5f734215;hb=fb630e048c6efabe4d46b1b125fe7348062d38e6;hp=b10419a69815ef1c005915f3606c992659e60c77;hpb=568d44641bc8e754157cf551e58154106d3532ae;p=git.git diff --git a/refs.c b/refs.c index b10419a69..4c1fd470d 100644 --- a/refs.c +++ b/refs.c @@ -451,7 +451,7 @@ int resolve_gitlink_ref(const char *path, const char *refname, unsigned char *re memcpy(gitdir + len, "/.git", 6); len += 5; - tmp = read_gitfile_gently(gitdir); + tmp = read_gitfile(gitdir); if (tmp) { free(gitdir); len = strlen(tmp); @@ -837,7 +837,7 @@ int for_each_rawref(each_ref_fn fn, void *cb_data) static inline int bad_ref_char(int ch) { - if (((unsigned) ch) <= ' ' || + if (((unsigned) ch) <= ' ' || ch == 0x7f || ch == '~' || ch == '^' || ch == ':' || ch == '\\') return 1; /* 2.13 Pattern Matching Notation */ @@ -1826,6 +1826,12 @@ int update_ref(const char *action, const char *refname, return 0; } +int ref_exists(char *refname) +{ + unsigned char sha1[20]; + return !!resolve_ref(refname, sha1, 1, NULL); +} + struct ref *find_ref_by_name(const struct ref *list, const char *name) { for ( ; list; list = list->next)