diff options
author | 2016-09-04 18:08:24 +0200 | |
---|---|---|
committer | 2016-09-09 15:28:13 -0700 | |
commit | a8355bb717aaf2d5d9b3781aa78402d0053fa87a (patch) | |
tree | e692727ab490713e6f8da84837f4461115ed6206 | |
parent | resolve_gitlink_ref(): avoid memory allocation in many cases (diff) | |
download | tgif-a8355bb717aaf2d5d9b3781aa78402d0053fa87a.tar.xz |
resolve_gitlink_ref(): rename path parameter to submodule
Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r-- | refs.c | 13 | ||||
-rw-r--r-- | refs.h | 9 |
2 files changed, 12 insertions, 10 deletions
@@ -1299,26 +1299,27 @@ const char *resolve_ref_unsafe(const char *refname, int resolve_flags, resolve_flags, sha1, flags); } -int resolve_gitlink_ref(const char *path, const char *refname, unsigned char *sha1) +int resolve_gitlink_ref(const char *submodule, const char *refname, + unsigned char *sha1) { - size_t len = strlen(path); + size_t len = strlen(submodule); struct ref_store *refs; int flags; - while (len && path[len - 1] == '/') + while (len && submodule[len - 1] == '/') len--; if (!len) return -1; - if (path[len]) { + if (submodule[len]) { /* We need to strip off one or more trailing slashes */ - char *stripped = xmemdupz(path, len); + char *stripped = xmemdupz(submodule, len); refs = get_ref_store(stripped); free(stripped); } else { - refs = get_ref_store(path); + refs = get_ref_store(submodule); } if (!refs) @@ -77,11 +77,12 @@ int is_branch(const char *refname); int peel_ref(const char *refname, unsigned char *sha1); /** - * Resolve refname in the nested "gitlink" repository that is located - * at path. If the resolution is successful, return 0 and set sha1 to - * the name of the object; otherwise, return a non-zero value. + * Resolve refname in the nested "gitlink" repository in the specified + * submodule (which must be non-NULL). If the resolution is + * successful, return 0 and set sha1 to the name of the object; + * otherwise, return a non-zero value. */ -int resolve_gitlink_ref(const char *path, const char *refname, +int resolve_gitlink_ref(const char *submodule, const char *refname, unsigned char *sha1); /* |