summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNico von Geyso <Nico.Geyso@FU-Berlin.de>2012-05-15 17:03:07 +0200
committerNico von Geyso <Nico.Geyso@FU-Berlin.de>2012-05-15 17:09:34 +0200
commit0b86fdf96e562d799ae8b1f73b7e128d0a00c3ee (patch)
tree6ab0eee7f47dc6a0d1849a1a06fda62301d31cd1
parentb72969e0643cb561b42aceec4d1a18ce9c782c09 (diff)
downloadlibgit2-0b86fdf96e562d799ae8b1f73b7e128d0a00c3ee.tar.gz
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.
-rw-r--r--src/revwalk.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/revwalk.c b/src/revwalk.c
index 1b539787f..d0a5120bd 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);
}