This series changes name-hash to stop storing the (redundant) trailing slash with index_state.dir_hash entries. As an intentional side-effect, the series fixes [1] in a cleaner way (suggested by Junio [2]) than either [3] (680be044 in master) or [4]. Changes since v1 [5]: * Add index_file_exists() as complement of index_dir_exists() introduced in v1 rather than changing the behavior of index_name_exists() to check only for files. To avoid disturbing current or future in-flight topics, index_name_exists() is retained (suggested by Junio [6]) as a thin wrapper dispatching either to index_file_exists() or index_dir_exists(). * Split v1 patch 1 into v2 patches 1 & 2 to ease review. (This is possible now that index_name_exists() retains its original behavior.) [1]: http://thread.gmane.org/gmane.comp.version-control.git/232727 [2]: http://thread.gmane.org/gmane.comp.version-control.git/232727/focus=232813 [3]: http://thread.gmane.org/gmane.comp.version-control.git/232796 [4]: http://thread.gmane.org/gmane.comp.version-control.git/232833 [5]: http://thread.gmane.org/gmane.comp.version-control.git/234743 [6]: http://article.gmane.org/gmane.comp.version-control.git/234761 Eric Sunshine (4): name-hash: refactor polymorphic index_name_exists() employ new explicit "exists in index?" API name-hash: stop storing trailing '/' on paths in index_state.dir_hash dir: revert work-around for retired dangerous behavior cache.h | 4 ++++ dir.c | 28 ++++++++------------------- name-hash.c | 61 ++++++++++++++++++++++++++++++++-------------------------- read-cache.c | 4 ++-- unpack-trees.c | 4 ++-- 5 files changed, 50 insertions(+), 51 deletions(-) -- 1.8.4.535.g7b94f8e -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html