Checkout
stefan2
committed
on 15 Oct 16
Introduce a "directory list" operation at the repos layer. This is the
first step towards an efficient implementation of 'svn list -r'.

Th… Show more
Introduce a "directory list" operation at the repos layer.  This is the

first step towards an efficient implementation of 'svn list -r'.

The function is straight-forward with support for operation depth and

authz.  One important use-case is "find files".  To support this with

minimal system load, the function allows to specify a glob pattern for

the file name and has an option to only report path and node type.

* subversion/include/svn_repos.h

 (svn_repos_dirent_receiver_t,

  svn_repos_list):  The new API.

* subversion/libsvn_repos/list.c

 (*): New file implementing the new API. Noteworthy:

 (fill_dirent): Factored out from ...

 (svn_repos_stat): ... this, which has been moved here from repos.c

* subversion/libsvn_repos/repos.c

 (svn_repos_stat):  Move from here to list.c due to shared code.

* subversion/tests/libsvn_repos/repos-test.c

 (test_list): Simple test-case for the new function.

 (test_funcs): Register new test. Show less