On the 'tree-api' branch: implement 'svn ls' using the tree API.

This changes only the client-side implementation of 'list'.

* subversion/include/private/svn_tree_impl.h,
  subversion/include/svn_tree.h,
  subversion/libsvn_subr/tree.c
  Add a 'get dirent' method. Fix a bug in the walker.

* subversion/libsvn_client/list.c
  (list_internal,
   get_dir_contents): Delete.
  (list_baton_t,
   list_callback): New.
  (list_internal): Use tree walker.

* subversion/libsvn_ra/ra_trees.c
  Cache the results.


git-svn-id: https://svn.apache.org/repos/asf/subversion/branches/tree-api@1830615 13f79535-47bb-0310-9956-ffa450edef68
5 files changed