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. */


Reply via email to