Stefan Fuhrmann <[email protected]> writes: > There seems to be little that could be done here (suggestions welcome). > The problem is that the asterisk is being expanded by the shell itself. > I made SVN print its command line parameters and this is the result: > > $ ./subversion/svn/svn ls svn://localhost/kde --search M* > 0: ./subversion/svn/svn > 1: ls > 2: svn://localhost/kde > 3: --search > 4: Makefile > 5: Makefile.in > > That can be prevented by adding quotation marks: > > $ ./subversion/svn/svn ls svn://localhost/kde --search "M*" > 0: ./subversion/svn/svn > 1: ls > 2: svn://localhost/kde > 3: --search > 4: M*
Unfortunately, on Windows both `--search M*` and (quoted) `--search "M*"` would expand the asterisk. While this is not the default shell behavior, currently it's enabled for svn and a couple of other binaries by linking to setargv.obj. In turn, this probably means the command-line client users on Windows could get quite unexpected results when using the `--search ARG` syntax. A potential cheap solution for this issue, I think, would be to make the --search argument work as a substring to search for in filenames, instead of using it as a pattern that the (whole) filename should match. While there are some cases where the latter approach gives more flexibility, my guess would be that a substring search would work well in the majority of scenarios. (Also, as far as I recall, `log --search` currently searches for a substring, so that would be consistent with it, and would probably avoid surprising the users by having a switch with the same name, but behaving differently.) Thanks, Evgeny Kotkov

