Checkout
Julian Foad
committed
on 14 Dec 18
Let repository-to-WC copies go through the WC editor.

For issue #4786 "Create a WC working-mods editor".

Similar to the patch committed in… Show more
Let repository-to-WC copies go through the WC editor.

For issue #4786 "Create a WC working-mods editor".

Similar to the patch committed in r1848892 and reverted in r1848897, except

that attempt failed on Windows because it created the copy target root

directory twice.

* subversion/include/private/svn_client_private.h

 (svn_client__repos_to_wc_copy): Rename to

   'svn_client__repos_to_wc_copy_internal'.

 (svn_client__repos_to_wc_copy_by_editor): New.

* subversion/libsvn_client/conflicts.c

 (merge_incoming_added_dir_replace): Update to use

   'svn_client__repos_to_wc_copy_by_editor'.

* subversion/libsvn_client/copy.c

 (copy_foreign_dir): Remove 'depth' parameter: not needed and was wrongly

   implemented anyway.

 (svn_client__repos_to_wc_copy_dir): Adjust caller.

 (is_same_repository): New, moved from 'wc_editor.c'.

 (svn_client__repos_to_wc_copy_by_editor): New.

 (svn_client__repos_to_wc_copy,

  repos_to_wc_copy_single): Determine same-repository here and here...

 (repos_to_wc_copy_locked): ... instead of here.

* subversion/libsvn_client/wc_editor.c

 (is_same_repository): Delete; moved to 'copy.c'.

 (dir_add,

  file_add): Don't determine same-repository here. Do set the 'created' flag.

* subversion/tests/libsvn_client/client-test.c

 (test_foreign_repos_copy): Update caller.

Show less