Commit 7c63a33ffe1198b77b481974cd0e74e9ace1745c

Carlos Martín Nieto 2015-03-13T19:41:40

indexer: bring back the error message on duplcate commits It turns out that erroring out on duplicate commits is the right thing to do, but git was not hitting the bug on the server-side. Bring back a descriptive error message in case of duplicate entries and error out.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
diff --git a/src/indexer.c b/src/indexer.c
index 68e903e..4fb33b6 100644
--- a/src/indexer.c
+++ b/src/indexer.c
@@ -293,6 +293,13 @@ static int store_object(git_indexer *idx)
 		goto on_error;
 	}
 
+	if (error == 0) {
+		giterr_set(GITERR_INDEXER, "duplicate object %s found in pack", git_oid_tostr_s(&pentry->sha1));
+		git__free(pentry);
+		goto on_error;
+	}
+
+
 	kh_value(idx->pack->idx_cache, k) = pentry;
 
 	git_oid_cpy(&entry->oid, &oid);