Commit 0b0a6b115d617fe79a0be0ddecd89738aefa574c

Kirill A. Shutemov 2011-07-01T00:48:37

vector, index: use git__msort() for vector sorting Index operation use git_vector_sort() to sort index entries. Since index support adding duplicates (two or more entries with the same path), it's important to preserve order of elements. Preserving order of elements allows to make decisions based on order. For example it's possible to implement function witch removes all duplicates except last added. Signed-off-by: Kirill A. Shutemov <kirill@shutemov.name>

1
2
3
4
5
6
7
8
9
10
11
12
13
diff --git a/src/vector.c b/src/vector.c
index 0451eb0..8d09350 100644
--- a/src/vector.c
+++ b/src/vector.c
@@ -94,7 +94,7 @@ void git_vector_sort(git_vector *v)
 	if (v->sorted || v->_cmp == NULL)
 		return;
 
-	qsort(v->contents, v->length, sizeof(void *), v->_cmp);
+	git__msort(v->contents, v->length, sizeof(void *), v->_cmp);
 	v->sorted = 1;
 }