Continuing issue #749.  Make locks associate together in groups
instead of in parent-child hierarchies.  Parent-child is still used
when closing.  Directory locking is now separate from committable
harvesting.

* subversion/include/svn_wc.h
  (svn_wc_adm_open, svn_wc_adm_retrieve, svn_wc_adm_close): Document
  new behavior.

* subversion/libsvn_wc/wc.h
  (struct svn_wc_adm_access_t): Remove parent member. Rename children
  member to set.

* subversion/libsvn_wc/lock.c
  (svn_wc__adm_access_child): Deleted.
  (svn_wc__adm_access_alloc): Remove parent parameter and change all
  callers.
  (svn_wc_adm_open): Add the associated access baton to the hash after
  creating the hash. Use temporary hash for opening children.
  (svn_wc_adm_retrieve): Don't call svn_wc__adm_access_child.
  (svn_wc__do_adm_close): Copy children to array before closing them.

* subversion/libsvn_client/client.h
  (svn_client__harvest_committables, svn_client__get_copy_committables):
  Remove locked_dirs parameter.

* subversion/libsvn_client/commit_util.c
  (lock_dir): Deleted.
  (harvest_committables): Revert 2554 for this file. Also remove locked_dirs
  parameter, and remove all directory locking.
  (svn_client__harvest_committables, svn_client__get_copy_committables):
  Remove locked_dirs parameter and directory locking.

* subversion/libsvn_client/commit.c
  (unlock_dirs): Deleted.
  (svn_client_commit): Remove locked_dirs.  Open an access baton.
  Close the baton intead of calling unlock_dirs.

* subversion/libsvn_client/copy.c
  (unlock_dirs): Deleted.
  (wc_to_repos_copy): Remove locked_dirs.  Open an access baton.
  Close the baton intead of calling unlock_dirs.
  


git-svn-id: https://svn.apache.org/repos/asf/subversion/branches/issue-749-dev@842699 13f79535-47bb-0310-9956-ffa450edef68
7 files changed