diff options
author | Lorry Tar Creator <lorry-tar-importer@baserock.org> | 2015-03-18 13:33:26 +0000 |
---|---|---|
committer | <> | 2015-07-08 14:41:01 +0000 |
commit | bb0ef45f7c46b0ae221b26265ef98a768c33f820 (patch) | |
tree | 98bae10dde41c746c51ae97ec4f879e330415aa7 /subversion/svn/resolve-cmd.c | |
parent | 239dfafe71711b2f4c43d7b90a1228d7bdc5195e (diff) | |
download | subversion-tarball-subversion-1.8.13.tar.gz |
Imported from /home/lorry/working-area/delta_subversion-tarball/subversion-1.8.13.tar.gz.subversion-1.8.13
Diffstat (limited to 'subversion/svn/resolve-cmd.c')
-rw-r--r-- | subversion/svn/resolve-cmd.c | 26 |
1 files changed, 19 insertions, 7 deletions
diff --git a/subversion/svn/resolve-cmd.c b/subversion/svn/resolve-cmd.c index 4ce57be..ce4818e 100644 --- a/subversion/svn/resolve-cmd.c +++ b/subversion/svn/resolve-cmd.c @@ -26,9 +26,6 @@ /*** Includes. ***/ -#define APR_WANT_STDIO -#include <apr_want.h> - #include "svn_path.h" #include "svn_client.h" #include "svn_error.h" @@ -54,6 +51,7 @@ svn_cl__resolve(apr_getopt_t *os, apr_array_header_t *targets; int i; apr_pool_t *iterpool; + svn_boolean_t had_error = FALSE; switch (opt_state->accept_which) { @@ -76,8 +74,11 @@ svn_cl__resolve(apr_getopt_t *os, conflict_choice = svn_wc_conflict_choose_mine_full; break; case svn_cl__accept_unspecified: - return svn_error_create(SVN_ERR_CL_ARG_PARSING_ERROR, NULL, - _("missing --accept option")); + if (opt_state->non_interactive) + return svn_error_create(SVN_ERR_CL_ARG_PARSING_ERROR, NULL, + _("missing --accept option")); + conflict_choice = svn_wc_conflict_choose_unspecified; + break; default: return svn_error_create(SVN_ERR_CL_ARG_PARSING_ERROR, NULL, _("invalid 'accept' ARG")); @@ -88,10 +89,15 @@ svn_cl__resolve(apr_getopt_t *os, ctx, FALSE, scratch_pool)); if (! targets->nelts) - return svn_error_create(SVN_ERR_CL_INSUFFICIENT_ARGS, 0, NULL); + svn_opt_push_implicit_dot_target(targets, scratch_pool); if (opt_state->depth == svn_depth_unknown) - opt_state->depth = svn_depth_empty; + { + if (opt_state->accept_which == svn_cl__accept_unspecified) + opt_state->depth = svn_depth_infinity; + else + opt_state->depth = svn_depth_empty; + } SVN_ERR(svn_cl__eat_peg_revisions(&targets, targets, scratch_pool)); @@ -111,9 +117,15 @@ svn_cl__resolve(apr_getopt_t *os, { svn_handle_warning2(stderr, err, "svn: "); svn_error_clear(err); + had_error = TRUE; } } svn_pool_destroy(iterpool); + if (had_error) + return svn_error_create(SVN_ERR_CL_ERROR_PROCESSING_EXTERNALS, NULL, + _("Failure occurred resolving one or more " + "conflicts")); + return SVN_NO_ERROR; } |