mirror of
https://git.proxmox.com/git/libgit2
synced 2025-05-02 16:34:37 +00:00
describe: only abort without tags if fallback is not allowed.
When no reference names could be found we did error out when trying to describe a commit. This is wrong, though, when the option to fall back to a commit's object ID is set.
This commit is contained in:
parent
c843736d63
commit
08e1fd6517
@ -693,7 +693,7 @@ int git_describe_commit(
|
||||
get_name, &data)) < 0)
|
||||
goto cleanup;
|
||||
|
||||
if (git_oidmap_size(data.names) == 0) {
|
||||
if (git_oidmap_size(data.names) == 0 && !opts->show_commit_oid_as_fallback) {
|
||||
giterr_set(GITERR_DESCRIBE, "Cannot describe - "
|
||||
"No reference found, cannot describe anything.");
|
||||
error = -1;
|
||||
|
@ -28,7 +28,7 @@ static int delete_cb(git_reference *ref, void *payload)
|
||||
return 0;
|
||||
}
|
||||
|
||||
void test_describe_describe__cannot_describe_against_a_repo_with_no_ref(void)
|
||||
void test_describe_describe__describe_a_repo_with_no_refs(void)
|
||||
{
|
||||
git_repository *repo;
|
||||
git_describe_options opts = GIT_DESCRIBE_OPTIONS_INIT;
|
||||
@ -41,8 +41,13 @@ void test_describe_describe__cannot_describe_against_a_repo_with_no_ref(void)
|
||||
|
||||
cl_git_pass(git_reference_foreach(repo, delete_cb, NULL));
|
||||
|
||||
/* Impossible to describe without falling back to OIDs */
|
||||
cl_git_fail(git_describe_commit(&result, object, &opts));
|
||||
|
||||
/* Try again with OID fallbacks */
|
||||
opts.show_commit_oid_as_fallback = 1;
|
||||
cl_git_pass(git_describe_commit(&result, object, &opts));
|
||||
|
||||
git_describe_result_free(result);
|
||||
git_object_free(object);
|
||||
git_buf_free(&buf);
|
||||
|
Loading…
Reference in New Issue
Block a user