On Sat, Mar 25, 2017 at 11:12 AM, Daniel Ferreira <bnmvco@xxxxxxxxx> wrote: > This is the third version of the GSoC microproject > of refactoring remove_subtree() from recursively using > readdir() to use dir_iterator. Below are the threads for > other versions: > > v1: https://public-inbox.org/git/CAGZ79kZwT-9mHTiOJ5CEjk2wDFkn6+NcogjX0=vjhsAh16ANYg@xxxxxxxxxxxxxx/T/#mae023e7a7d7626f00e0923833c4359f5af493730 > v2: https://public-inbox.org/git/CACsJy8Dxh-QPBBLfaFWPAWUsbA9GVXA7x+mXLjEvYKhk1zOpig@xxxxxxxxxxxxxx/T/#t > > Duy suggested adding features to dir_iterator might go > beyond the intention of a microproject, but I figured I > might go for it to learn more about the project. > > The dir_iterator reimplementation has been tested in a > separate binary I created (and linked with libgit.a) to > reproduce remove_subtree()'s contents. As pointed out in the > last thread, git's tests for this function were unable to > catch a daunting bug I had introduced, and I still haven't > been able to come up with a way to reproduce remove_subtree() > being called. Any help? > I would think a test llike the following would work: test_expect_success 'remove nested subtrees' ' test_commit initial && mkdir -p dir/with/nested/dir && echo content >dir/with/nested/dir/file && echo content >dir/file && git add dir/with/nested/dir/file dir/file && git commit -a -m "commit directory structure" && git checkout initial && ! test dir '