diff options
author | nulltoken <emeric.fermas@gmail.com> | 2013-09-07 17:21:41 +0200 |
---|---|---|
committer | nulltoken <emeric.fermas@gmail.com> | 2013-09-07 17:48:05 +0200 |
commit | a8d67afe42e6c79cb15383ceb1264f665dc4ad8d (patch) | |
tree | 60c807b9cdaeed0ad9d3fb0680d9241d0c157a75 /src/revparse.c | |
parent | 32e49929725a76d9871038f30e2ea67fe0e4a4f8 (diff) | |
download | libgit2-a8d67afe42e6c79cb15383ceb1264f665dc4ad8d.tar.gz |
revparse: Prevent unnecessary odb backend calls
Diffstat (limited to 'src/revparse.c')
-rw-r--r-- | src/revparse.c | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/src/revparse.c b/src/revparse.c index 329b96dbc..05ddc6c35 100644 --- a/src/revparse.c +++ b/src/revparse.c @@ -115,12 +115,9 @@ static int revparse_lookup_object( if (error < 0 && error != GIT_ENOTFOUND) return error; - error = maybe_abbrev(object_out, repo, spec); - if (!error) - return 0; - - if (error < 0 && error != GIT_ENOTFOUND) - return error; + if ((strlen(spec) < GIT_OID_HEXSZ) && + ((error = maybe_abbrev(object_out, repo, spec)) != GIT_ENOTFOUND)) + return error; error = maybe_describe(object_out, repo, spec); if (!error) |