]> git.proxmox.com Git - libgit2.git/commit - tests/clone/nonetwork.c
Initial iconv hookup for precomposed unicode
authorRussell Belfer <rb@github.com>
Tue, 1 Oct 2013 23:12:15 +0000 (16:12 -0700)
committerRussell Belfer <rb@github.com>
Thu, 3 Oct 2013 17:44:13 +0000 (10:44 -0700)
commit219d3457324e8c2652e3462cedaf648912b40281
tree4dcd3bd4aa22d5a9827fbc87c52546ce2a2cd7a1
parent2fe54afa2a8f87d03d2d550dcde7718f27e40967
Initial iconv hookup for precomposed unicode

This hooks up git_path_direach and git_path_dirload so that they
will take a flag indicating if directory entry names should be
tested and converted from decomposed unicode to precomposed form.
This code will only come into play on the Apple platform and even
then, only when certain types of filesystems are used.

This involved adding a flag to these functions which involved
changing a lot of places in the code.

This was an opportunity to do a bit of code cleanup here and there,
for example, getting rid of the git_futils_cleanupdir_r function in
favor of a simple flag to git_futils_rmdir_r to not remove the top
level entry.  That ended up adding depth tracking during rmdir_r
which led to a safety check for infinite directory recursion.  Yay.

This hasn't actually been tested on the Mac filesystems where the
issue occurs.  I still need to get test environment for that.
15 files changed:
CMakeLists.txt
src/clone.c
src/fileops.c
src/fileops.h
src/iterator.c
src/odb_loose.c
src/odb_pack.c
src/path.c
src/path.h
src/refdb_fs.c
tests-clar/clar_libgit2.c
tests-clar/clone/nonetwork.c
tests-clar/core/dirent.c
tests-clar/merge/merge_helpers.c
tests-clar/status/worktree.c