Log [[[ Improve error message displayed by info/cat for consistency.
* subversion/svn/info-cmd.c, * subversion/svn/cat-cmd.c (svn_cl__info, svn_cl__cat): Improve error message. Use meaningful variable. * subversion/tests/cmdline/cat_tests.py (cat_skip_uncattable): Modify test Patch by: Noorul Islam K M <noorul{_AT_}collab.net> ]]] Thanks and Regards Noorul
Index: subversion/tests/cmdline/cat_tests.py =================================================================== --- subversion/tests/cmdline/cat_tests.py (revision 1070514) +++ subversion/tests/cmdline/cat_tests.py (working copy) @@ -158,8 +158,9 @@ svntest.actions.run_and_verify_svn2(None, expected_out, expected_err2, 1, 'cat', rho_path, new_file_path) - expected_err3 = expected_err1 + expected_err2 + ".*\n" + \ - "svn: E200000: A problem occurred; see other errors for details\n" + expected_err3 = expected_err1 + expected_err2 + \ + ".*\nsvn: E200009: Could not cat all targets because some targets " + \ + "don't exist\n" expected_err_re = re.compile(expected_err3) exit_code, output, error = svntest.main.run_svn(1, 'cat', rho_path, G_path, new_file_path) Index: subversion/svn/cat-cmd.c =================================================================== --- subversion/svn/cat-cmd.c (revision 1070514) +++ subversion/svn/cat-cmd.c (working copy) @@ -32,6 +32,8 @@ #include "svn_error.h" #include "cl.h" +#include "svn_private_config.h" + /*** Code. ***/ @@ -47,7 +49,7 @@ int i; svn_stream_t *out; apr_pool_t *subpool = svn_pool_create(pool); - svn_boolean_t saw_a_problem = FALSE; + svn_boolean_t seen_nonexistent_target = FALSE; SVN_ERR(svn_cl__args_to_target_array_print_reserved(&targets, os, opt_state->targets, @@ -83,12 +85,14 @@ SVN_ERR_FS_NOT_FOUND, SVN_NO_ERROR)); if (! success) - saw_a_problem = TRUE; + seen_nonexistent_target = TRUE; } svn_pool_destroy(subpool); - if (saw_a_problem) - return svn_error_create(SVN_ERR_BASE, NULL, NULL); + if (seen_nonexistent_target) + return svn_error_create( + SVN_ERR_ILLEGAL_TARGET, NULL, + _("Could not cat all targets because some targets don't exist")); else return SVN_NO_ERROR; } Index: subversion/svn/info-cmd.c =================================================================== --- subversion/svn/info-cmd.c (revision 1070514) +++ subversion/svn/info-cmd.c (working copy) @@ -494,7 +494,7 @@ apr_pool_t *subpool = svn_pool_create(pool); int i; svn_error_t *err; - svn_boolean_t saw_a_problem = FALSE; + svn_boolean_t seen_nonexistent_target = FALSE; svn_opt_revision_t peg_revision; svn_info_receiver_t receiver; const char *path_prefix; @@ -579,7 +579,7 @@ svn_error_clear(err); err = NULL; - saw_a_problem = TRUE; + seen_nonexistent_target = TRUE; } } svn_pool_destroy(subpool); @@ -587,8 +587,11 @@ if (opt_state->xml && (! opt_state->incremental)) SVN_ERR(svn_cl__xml_print_footer("info", pool)); - if (saw_a_problem) - return svn_error_create(SVN_ERR_BASE, NULL, NULL); + if (seen_nonexistent_target) + return svn_error_create( + SVN_ERR_ILLEGAL_TARGET, NULL, + _("Could not display info for all targets because some " + "targets don't exist")); else return SVN_NO_ERROR; }