Author: stsp
Date: Wed Dec 19 20:31:01 2012
New Revision: 1424086
URL: http://svn.apache.org/viewvc?rev=1424086&view=rev
Log:
Remove force_interactive from the global opt_state, and instead just use
a local variable to track whether --force-interactive was given.
This makes opt_state.non_interactive the authoritative global flag which
determines interactivity, matching an implicit assumption in the existing
command client code which looks at non_interactive only.
Suggested by: julianfoad
* subversion/svn/cl.h
(svn_cl__opt_state_t): Remove force_interactive.
* subversion/svn/svn.c
(sub_main): Use a local variable to track whether the --force-interactive
option was given.
Modified:
subversion/trunk/subversion/svn/cl.h
subversion/trunk/subversion/svn/svn.c
Modified: subversion/trunk/subversion/svn/cl.h
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/svn/cl.h?rev=1424086&r1=1424085&r2=1424086&view=diff
==============================================================================
--- subversion/trunk/subversion/svn/cl.h (original)
+++ subversion/trunk/subversion/svn/cl.h Wed Dec 19 20:31:01 2012
@@ -238,7 +238,6 @@ typedef struct svn_cl__opt_state_t
svn_boolean_t include_externals; /* Recurses (in)to file & dir externals */
svn_boolean_t show_inherited_props; /* get inherited properties */
apr_array_header_t* search_patterns; /* pattern arguments for --search */
- svn_boolean_t force_interactive; /* force interactive prompting */
} svn_cl__opt_state_t;
Modified: subversion/trunk/subversion/svn/svn.c
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/svn/svn.c?rev=1424086&r1=1424085&r2=1424086&view=diff
==============================================================================
--- subversion/trunk/subversion/svn/svn.c (original)
+++ subversion/trunk/subversion/svn/svn.c Wed Dec 19 20:31:01 2012
@@ -1665,6 +1665,7 @@ sub_main(int argc, const char *argv[], a
svn_config_t *cfg_config;
svn_boolean_t descend = TRUE;
svn_boolean_t interactive_conflicts = FALSE;
+ svn_boolean_t force_interactive = FALSE;
svn_boolean_t use_notifier = TRUE;
apr_hash_t *changelists;
const char *sqlite_exclusive;
@@ -1989,7 +1990,7 @@ sub_main(int argc, const char *argv[], a
opt_state.non_interactive = TRUE;
break;
case opt_force_interactive:
- opt_state.force_interactive = TRUE;
+ force_interactive = TRUE;
break;
case opt_trust_server_cert:
opt_state.trust_server_cert = TRUE;
@@ -2202,7 +2203,7 @@ sub_main(int argc, const char *argv[], a
/* The --non-interactive and --force-interactive options are mutually
* exclusive. */
- if (opt_state.non_interactive && opt_state.force_interactive)
+ if (opt_state.non_interactive && force_interactive)
{
err = svn_error_create(SVN_ERR_CL_ARG_PARSING_ERROR, NULL,
_("--non-interactive and --force-interactive "
@@ -2211,9 +2212,9 @@ sub_main(int argc, const char *argv[], a
}
/* If neither --non-interactive nor --force-interactive was passed,
* and stdin is not a terminal, set --non-interactive. */
- else if (!opt_state.force_interactive && !opt_state.non_interactive)
+ else if (!force_interactive && !opt_state.non_interactive)
opt_state.non_interactive = !svn_cmdline__stdin_isatty();
- else if (opt_state.force_interactive)
+ else if (force_interactive)
opt_state.non_interactive = FALSE;
/* Turn our hash of changelists into an array of unique ones. */