Commit d3e9c4a5fce82e34a91934121addc9b296e74cb8

Carlos Martín Nieto 2012-05-24T21:49:43

repository: default to core.bare = false if it's not set We used to consider a missing core.bare option to mean that the repository was corrupt. This is too strict. Consider it a non-bare repository if it's not set.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
diff --git a/src/repository.c b/src/repository.c
index 6ce3a56..5120356 100644
--- a/src/repository.c
+++ b/src/repository.c
@@ -124,11 +124,12 @@ static int load_config_data(git_repository *repo)
 	if (git_repository_config__weakptr(&config, repo) < 0)
 		return -1;
 
+	/* Try to figure out if it's bare, default to non-bare if it's not set */
 	if (git_config_get_bool(&is_bare, config, "core.bare") < 0)
-		return -1; /* FIXME: We assume that a missing core.bare
-					  variable is an error. Is this right? */
+		repo->is_bare = 0;
+	else
+		repo->is_bare = is_bare;
 
-	repo->is_bare = is_bare;
 	return 0;
 }