Commit 0b86fdf96e562d799ae8b1f73b7e128d0a00c3ee

Nico von Geyso 2012-05-15T17:03:07

really reset walker with git_revwalk_reset From the description of git_revwalk_reset in revwalk.h the function should clear all pushed and hidden commits, and leave the walker in a blank state (just like at creation). Apparently everything gets reseted appart of pushed commits (walk->one and walk->twos) This fix should reset the walker properly.

1
2
3
4
5
6
7
8
9
10
11
12
13
diff --git a/src/revwalk.c b/src/revwalk.c
index 1b53978..d0a5120 100644
--- a/src/revwalk.c
+++ b/src/revwalk.c
@@ -838,5 +838,8 @@ void git_revwalk_reset(git_revwalk *walk)
 	commit_list_free(&walk->iterator_rand);
 	commit_list_free(&walk->iterator_reverse);
 	walk->walking = 0;
+
+	walk->one = NULL;
+	git_vector_clear(&walk->twos);
 }