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