commit 2f46ecd27c3d285e0a82670ff8dc042db5e58d5d from: Stefan Sperling date: Sat Jul 12 10:05:00 2025 UTC fix test failures related to clone -a introduced with previous commits Use a dedicated flag to keep track of HEAD ref creation state, rather than checking pe == NULL. commit - 37de562ead5a95ca95e8779e7a8e218876166ff7 commit + 2f46ecd27c3d285e0a82670ff8dc042db5e58d5d blob - e93728385f32d4085286df2430149d36ac1a6af1 blob + 80379bddab5170afe5c0e8cbb9bd21f4d8362982 --- got/got.c +++ got/got.c @@ -1630,7 +1630,7 @@ cmd_clone(int argc, char *argv[]) const char *jumphost = NULL, *identity_file = NULL; int verbosity = 0, fetch_all_branches = 0, mirror_references = 0; int bflag = 0, list_refs_only = 0; - int *pack_fds = NULL; + int *pack_fds = NULL, have_head_ref = 0; RB_INIT(&refs); RB_INIT(&symrefs); @@ -1897,6 +1897,7 @@ cmd_clone(int argc, char *argv[]) got_ref_close(target_ref); if (error) goto done; + have_head_ref = 1; if (mirror_references) continue; @@ -1935,7 +1936,7 @@ cmd_clone(int argc, char *argv[]) if (error) goto done; } - if (pe == NULL) { + if (!have_head_ref) { /* * We failed to set the HEAD reference. If we asked for * a set of wanted branches use the first of one of those @@ -1959,6 +1960,7 @@ cmd_clone(int argc, char *argv[]) got_ref_close(target_ref); if (error) goto done; + have_head_ref = 1; break; } @@ -1966,7 +1968,7 @@ cmd_clone(int argc, char *argv[]) * If we have no HEAD ref yet, set it to the first branch * which was fetched. */ - if (pe == NULL) { + if (!have_head_ref) { RB_FOREACH(pe, got_pathlist_head, &refs) { const char *refname = pe->path; struct got_reference *target_ref;