Checkout
Bert Huijben
committed
on 05 Jul 10
To allow improving the svn status performance, allow retrieving the size
and mtime of files directly when retrieving the dirents inside a di… Show more
To allow improving the svn status performance, allow retrieving the size

and mtime of files directly when retrieving the dirents inside a directory.

Performing a stat of every file individually will never be as fast as per

directory. Especially if we open the directory for reading anyway.

* subversion/include/svn_io.h

 (svn_io_dirent2_t): New struct.

 (svn_io_dirent2_create): New function.

 (svn_io_dirent2_dup): New function.

 (svn_io_dirent_t): Update documentation.

 (svn_io_get_dirents3): New function.

 (svn_io_get_dirents2): Deprecate function.

 (svn_io_stat_dirent): New function. (Helper for wc status walker)

* subversion/libsvn_subr/deprecated.c

 (svn_io_get_dirents2): New function.

 (svn_io_get_dirents): Move function here from io.c

* subversion/libsvn_subr/io.c

 (svn_io_remove_dir2): Use svn_io_get_dirents3 and avoid casts.

 (svn_io_dirent2_create): New function.

 (svn_io_dirent2_dup): New function.

 (svn_io_get_dirents2): Rename to ...

 (svn_io_get_dirents3): ... this, update struct for hash. Retrieve

   additional values only if required.

Show less