[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

[PATCH] -R shortcut for --recursive

From: Eric Gillespie <epg_at_pretzelnet.org>
Date: 2002-07-15 02:35:10 CEST

This simple diff allows -R as a shortcut for --recursive, similar
to other commands. I instinctively type this all the time, then
growl as i realize i have to type out 'recursive'. This also paves
the way for -N for --nonrecursive, and therefore -n for no-op ;->.

Index: ./subversion/clients/cmdline/cl.h
===================================================================
--- ./subversion/clients/cmdline/cl.h
+++ ./subversion/clients/cmdline/cl.h Sun Jul 14 19:26:37 2002
@@ -44,7 +44,6 @@
 typedef enum {
   svn_cl__xml_file_opt = 256,
   svn_cl__ancestor_path_opt,
- svn_cl__recursive_opt,
   svn_cl__force_opt,
   svn_cl__msg_encoding_opt,
   svn_cl__version_opt,
Index: ./subversion/clients/cmdline/main.c
===================================================================
--- ./subversion/clients/cmdline/main.c
+++ ./subversion/clients/cmdline/main.c Sun Jul 14 19:27:28 2002
@@ -56,7 +56,7 @@
     {"--eek--", '?', 0, "show help on a subcommand"},
     {"message", 'm', 1, "specify commit message \"ARG\""},
     {"quiet", 'q', 0, "print as little as possible"},
- {"recursive", svn_cl__recursive_opt, 0, "descend recursively"},
+ {"recursive", 'R', 0, "descend recursively"},
     {"nonrecursive", 'n', 0, "operate on single directory only"},
     {"revision", 'r', 1, "specify revision number ARG (or X:Y range)"},
     {"date", 'D', 1, "specify a date ARG (instead of a revision)"},
@@ -126,7 +126,7 @@
     "Put files and directories under revision control, scheduling\n"
     "them for addition to repository. They will be added in next commit.\n"
     "usage: svn add [OPTIONS] [TARGETS]\n",
- {svn_cl__targets_opt, svn_cl__recursive_opt} },
+ {svn_cl__targets_opt, 'R'} },
 
   { "checkout", svn_cl__checkout, {"co"},
     "Check out a working copy from a repository.\n"
@@ -231,7 +231,7 @@
     "Display info about a resource.\n"
     "usage: svn info [PATH1 [PATH2] ...]\n\n"
     " Print information about PATHs.\n",
- {svn_cl__targets_opt, svn_cl__recursive_opt} },
+ {svn_cl__targets_opt, 'R'} },
  
   { "log", svn_cl__log, {0},
     "Show the log messages for a set of revision(s) and/or file(s).\n"
@@ -285,7 +285,7 @@
   { "propdel", svn_cl__propdel, {"pdel"},
     "Remove property PROPNAME on files and directories.\n"
     "usage: propdel PROPNAME [TARGETS]\n",
- {'q', svn_cl__recursive_opt} },
+ {'q', 'R'} },
   
   { "propedit", svn_cl__propedit, {"pedit", "pe"},
     "Edit property PROPNAME with $EDITOR on targets.\n"
@@ -295,12 +295,12 @@
   { "propget", svn_cl__propget, {"pget", "pg"},
     "Print value of property PROPNAME on files or directories.\n"
     "usage: propget PROPNAME [TARGETS]\n",
- {svn_cl__recursive_opt} },
+ {'R'} },
   
   { "proplist", svn_cl__proplist, {"plist", "pl"},
     "List all properties attached to files or directories.\n"
     "usage: proplist [TARGETS]\n",
- {'v', svn_cl__recursive_opt} },
+ {'v', 'R'} },
   
   { "propset", svn_cl__propset, {"pset", "ps"},
     "Set property PROPNAME to PROPVAL on files or directories.\n"
@@ -324,14 +324,14 @@
     " whether to merge the file, and how to serve it from Apache.\n"
     " A mimetype beginning with 'text/' (or an absent mimetype) is\n"
     " treated as text. Anything else is treated as binary.\n",
- {'F', 'q', svn_cl__targets_opt, svn_cl__recursive_opt} },
+ {'F', 'q', svn_cl__targets_opt, 'R'} },
   
   { "revert", svn_cl__revert, {0},
     "Restore pristine working copy file (undo all local edits)\n"
     "usage: revert TARGET1 [TARGET2 [TARGET3 ... ]]\n\n"
     " Note: this routine does not require network access, and \n"
     " resolves any conflicted states.\n",
- {svn_cl__targets_opt, svn_cl__recursive_opt} },
+ {svn_cl__targets_opt, 'R'} },
 
   { "resolve", svn_cl__resolve, {0},
     "Remove 'conflicted' state on working copy files or directories.\n"
@@ -339,7 +339,7 @@
     " Note: this routine does not semantically resolve conflict markers;\n"
     " it merely removes conflict-related artifact files and allows TARGET\n"
     " to be committed again.\n",
- {svn_cl__targets_opt, svn_cl__recursive_opt} },
+ {svn_cl__targets_opt, 'R'} },
  
   { "status", svn_cl__status, {"stat", "st"},
     "Print the status of working copy files and directories.\n"
@@ -1030,7 +1030,7 @@
       case svn_cl__force_opt:
         opt_state.force = TRUE;
         break;
- case svn_cl__recursive_opt:
+ case 'R':
         opt_state.recursive = TRUE;
         break;
       case 'n':

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Mon Jul 15 02:35:41 2002

This is an archived mail posted to the Subversion Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.