Den fre 16 juni 2023 kl 09:49 skrev Osipov, Michael (SMD IT IN) via users <
us...@subversion.apache.org>:

> Scratch that. My thread from five years ago is still valid:
> https://lists.apache.org/thread/lonftwtj2kmnjf5mlp91jyxz9xlsgv3d
>
> The issue sill persists. The doc improvement from Daniel Shahaf haven't
> been implemented yet.
>

Moving the discussion to dev@:

Do we want to implement the suggested doc improvement? I started testing
each of the commands and the @ trick is required on almost all except for
svn checkout so it will be a lot of changed text. Does it make sense or
will it only be a cause of confusion?

I added the explanation as a separate text to allow for some re-use but the
argument has many different names (PATH, WCPATH, URL ...) so it is repeated
a few times, maybe it can be reworded to leave out the argument name?

[[[
Index: ../subversion/subversion/svn/svn.c
===================================================================
--- ../subversion/subversion/svn/svn.c  (revision 1910468)
+++ ../subversion/subversion/svn/svn.c  (working copy)
@@ -424,7 +424,7 @@
 {
   { "add", svn_cl__add, {0}, {N_(
      "Put new files and directories under version control.\n"
-     "usage: add PATH...\n"
+     "usage: add PATH[@]...\n"
      "\n"), N_(
      "  Schedule unversioned PATHs for addition, so they will become
versioned and\n"
      "  be added to the repository in the next commit. Recurse into
directories by\n"
@@ -444,7 +444,9 @@
      "\n"), N_(
      "  The selection of items to add may be influenced by the 'ignores'
feature.\n"
      "  Properties may be attached to the items as configured by the
'auto-props'\n"
-     "  feature.\n"
+     "  feature.\n", N_(
+     "  If PATH contains an @ character, an additional @ must be specified
at the\n"
+     "  end of PATH to avoid interpreting the first @ as a peg revision
indicator.\n"
     )},
     {opt_targets, 'N', opt_depth, 'q', opt_force, opt_no_ignore,
opt_autoprops,
      opt_no_autoprops, opt_parents },
@@ -516,8 +518,8 @@
   { "changelist", svn_cl__changelist, {"cl"}, {N_(
      "Associate (or dissociate) changelist CLNAME with the named\n"
      "files.\n"
-     "usage: 1. changelist CLNAME PATH...\n"
-     "       2. changelist --remove PATH...\n"
+     "usage: 1. changelist CLNAME PATH[@]...\n"
+     "       2. changelist --remove PATH[@]...\n"
     )},
     { 'q', 'R', opt_depth, opt_remove, opt_targets, opt_changelist} },

@@ -539,6 +541,8 @@
      "  out into a sub-directory of PATH, with the name of the
sub-directory\n"
      "  being the basename of the URL.\n"
      "\n"), N_(
+     "  If PATH contains an @ character, an additional @ must be specified
at the\n"
+     "  end of PATH to avoid interpreting the first @ as a peg revision
indicator.\n", N_(
      "  If --force is used, unversioned obstructing paths in the working\n"
      "  copy destination do not automatically cause the check out to
fail.\n"
      "  If the obstructing path is the same type (file or directory) as
the\n"
@@ -560,10 +564,10 @@
   { "cleanup", svn_cl__cleanup, {0}, {N_(
      "Either recover from an interrupted operation that left the working\n"
      "copy locked, or remove unwanted files.\n"
-     "usage: 1. cleanup [WCPATH...]\n"
-     "       2. cleanup --remove-unversioned [WCPATH...]\n"
-     "          cleanup --remove-ignored [WCPATH...]\n"
-     "       3. cleanup --vacuum-pristines [WCPATH...]\n"
+     "usage: 1. cleanup [WCPATH[@]...]\n"
+     "       2. cleanup --remove-unversioned [WCPATH[@]...]\n"
+     "          cleanup --remove-ignored [WCPATH[@]...]\n"
+     "       3. cleanup --vacuum-pristines [WCPATH[@]...]\n"
      "\n"), N_(
      "  1. When none of the options --remove-unversioned,
--remove-ignored, and\n"
      "    --vacuum-pristines is specified, remove all write locks (shown
as 'L' by\n"
@@ -583,7 +587,9 @@
      "\n"), N_(
      "  3. If the --vacuum-pristines option is given, remove pristine
copies of\n"
      "    files which are stored inside the .svn directory and which are
no longer\n"
-     "    referenced by any file in the working copy.\n"
+     "    referenced by any file in the working copy.\n", N_(
+     "  If WCPATH contains an @ character, an additional @ must be
specified at the\n"
+     "  end of WCPATH to avoid interpreting the first @ as a peg revision
indicator.\n"
     )},
     { opt_remove_unversioned, opt_remove_ignored, opt_vacuum_pristines,
       opt_include_externals, 'q', opt_merge_cmd },
]]]

Kind regards,
Daniel Sahlberg

Reply via email to