mirror of
				https://git.proxmox.com/git/libgit2
				synced 2025-11-04 14:08:17 +00:00 
			
		
		
		
	Treat detached HEAD as non-empty repo
This simplifies the git_repository_is_empty a bit so that a detached HEAD is just taken to mean the repo is not empty, since a newly initialized repo will not have a detached HEAD.
This commit is contained in:
		
							parent
							
								
									8b2f230cd5
								
							
						
					
					
						commit
						4218183631
					
				@ -1495,26 +1495,20 @@ static int repo_contains_no_reference(git_repository *repo)
 | 
				
			|||||||
int git_repository_is_empty(git_repository *repo)
 | 
					int git_repository_is_empty(git_repository *repo)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	git_reference *head = NULL;
 | 
						git_reference *head = NULL;
 | 
				
			||||||
	int error;
 | 
						int is_empty = 0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if (git_reference_lookup(&head, repo, GIT_HEAD_FILE) < 0)
 | 
						if (git_reference_lookup(&head, repo, GIT_HEAD_FILE) < 0)
 | 
				
			||||||
		return -1;
 | 
							return -1;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if (git_reference_type(head) != GIT_REF_SYMBOLIC) {
 | 
						if (git_reference_type(head) == GIT_REF_SYMBOLIC)
 | 
				
			||||||
		error = -1;
 | 
							is_empty =
 | 
				
			||||||
		goto cleanup;
 | 
								(strcmp(git_reference_symbolic_target(head),
 | 
				
			||||||
	}
 | 
										GIT_REFS_HEADS_DIR "master") == 0) &&
 | 
				
			||||||
 | 
								repo_contains_no_reference(repo);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if (!(error = (strcmp(
 | 
					 | 
				
			||||||
		git_reference_symbolic_target(head),
 | 
					 | 
				
			||||||
		GIT_REFS_HEADS_DIR "master") == 0)))
 | 
					 | 
				
			||||||
			goto cleanup;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	error = repo_contains_no_reference(repo);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
cleanup:
 | 
					 | 
				
			||||||
	git_reference_free(head);
 | 
						git_reference_free(head);
 | 
				
			||||||
	return error < 0 ? -1 : error;
 | 
					
 | 
				
			||||||
 | 
						return is_empty;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const char *git_repository_path(git_repository *repo)
 | 
					const char *git_repository_path(git_repository *repo)
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
		Reference in New Issue
	
	Block a user