r865057 | hwright | 2007-05-10 05:02:08 +0000 (Thu, 10 May 2007)
Fix part of issue 1776: Allow 'svn mkdir' to make intermediate
directories.
Patch by: Stephen Oberholtzer <stevieo@tigris.org>
me
* subversion/svn/cl.h
(svn_cl__longopt_t): Add svn_cl__make_parents_opt.
(svn_cl__opt_state_t): Add make_parents flag.
* subversion/svn/mkdir-cmd.c
(svn_cl__mkdir): Pass the make_parents flag to the client library.
* subversion/svn/main.c
(svn_cl__cmd_table): Accept the make-parents flag for 'svn mkdir'.
* subversion/include/svn_client.h
(svn_client_mkdir3): New. Add the make_parents flag.
(svn_client_mkdir2): Deprecate.
* subversion/libsvn_client/add.c
(add_url_parents): New function.
(mkdir_urls): Take the make parents flag, and if true, add any lacking
parents to the list of targets.
(make_wc_subdir): New function.
(svn_client_mkdir3): New function. In the local case, instead of creating
the directories directly, use a recursive helper function.
(svn_client_mkdir2): Implement as a thin wrapper.
* subversion/tests/cmdline/basic_tests.py
(basic_mkdir_url_with_parents, basic_mkdir_wc_with_parents): New tests.
(test_list): Run the new tests.