Ævar sent v1: https://public-inbox.org/git/20190226002625.13022-1-avarab@xxxxxxxxx/ Based on Ævar's work and comments, I refactored my previous series[1], so that clone's original behaviour regarding symlinks is kept untouched. So, keeping this behaviour, having tests for this, changing local clone to use dir-iterator's API and modifing hidden paths behaviour (which we agreed to seem like unintentional), I think this version addresses all the comments and concerns raised in this thread: https://public-inbox.org/git/CAP8UFD2xrfMHNxcmeYf8G+d53SL26N07FFAoDP+e0h3r-tvKQw@xxxxxxxxxxxxxx/ And also addresses the comments I made in WIP's v1. [1]: https://public-inbox.org/git/20190223190309.6728-1-matheus.bernardino@xxxxxx/ Matheus Tavares (4): dir-iterator: add flags parameter to dir_iterator_begin clone: copy hidden paths at local clone clone: extract function from copy_or_link_directory clone: use dir-iterator to avoid explicit dir traversal Ævar Arnfjörð Bjarmason (1): clone: test for our behavior on odd objects/* content builtin/clone.c | 70 ++++++++++++++++++++++---------------- dir-iterator.c | 28 +++++++++++++-- dir-iterator.h | 40 +++++++++++++++++----- refs/files-backend.c | 2 +- t/t5604-clone-reference.sh | 69 +++++++++++++++++++++++++++++++++++++ 5 files changed, 168 insertions(+), 41 deletions(-) -- 2.20.1