Commit c07abd6509cc1d22bcddd377c0e49de4e7c7ced9

Carson Howard 2018-03-27T07:37:34

submodule: add better error handling to is_path_occupied

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
diff --git a/src/submodule.c b/src/submodule.c
index b9cdb19..cfde81a 100644
--- a/src/submodule.c
+++ b/src/submodule.c
@@ -176,7 +176,10 @@ static int is_path_occupied(bool *occupied, git_repository *repo, const char *pa
 	if ((error = git_path_to_dir(&dir)) < 0)
 		goto out;
 
-	if ((error = git_index_find_prefix(NULL, index, dir.ptr)) == 0) {
+	if ((error = git_index_find_prefix(NULL, index, dir.ptr)) < 0 && error != GIT_ENOTFOUND)
+    goto out;
+
+	if (!error) {
 		giterr_set(GITERR_SUBMODULE,
 			"Directory '%s' already exists in the index", path);
 		*occupied = true;