diff options
| author | nulltoken <emeric.fermas@gmail.com> | 2012-09-17 07:11:32 +0200 |
|---|---|---|
| committer | nulltoken <emeric.fermas@gmail.com> | 2012-09-25 07:49:15 +0200 |
| commit | 77e06d7e8547e82336489b7cdeb04294ed3d6015 (patch) | |
| tree | c1715edc9ba6ae7ac17a23d4f4f46b36da7ac8ba /src/revparse.c | |
| parent | c030ada7ff7f9c93a2287ca2f57173d66fbff88a (diff) | |
| download | libgit2-77e06d7e8547e82336489b7cdeb04294ed3d6015.tar.gz | |
refs: introduce git_reference_is_valid_name()
Diffstat (limited to 'src/revparse.c')
| -rw-r--r-- | src/revparse.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/revparse.c b/src/revparse.c index 17266b944..5e2db99cd 100644 --- a/src/revparse.c +++ b/src/revparse.c @@ -50,6 +50,11 @@ static int disambiguate_refname(git_reference **out, git_repository *repo, const if ((error = git_buf_printf(&refnamebuf, formatters[i], git_buf_cstr(&name))) < 0) goto cleanup; + if (!git_reference_is_valid_name(git_buf_cstr(&refnamebuf))) { + error = GIT_ENOTFOUND; + continue; + } + error = git_reference_lookup_resolved(&ref, repo, git_buf_cstr(&refnamebuf), -1); if (!error) { |
