Daniel Shahaf: > Here are our notes about this from back when the ^/ syntax was > added: > > http://svn.apache.org/viewvc/subversion/trunk/notes/cli-repo-root-relative-support.txt?view=markup#l42
It takes care of cmd.exe, so ^^/ on Windows was a deliberate tradeoff on your part. > Tilde is also special to some shells, at least in the sh/csh > «~username» syntax and in zsh's «foo~bar» syntax (also part of > EXTENDED_GLOB); That is why I proposed a double `~' -- not perfect, of course, but I think none of the major shells will expand it. Of course, if I were designing it from scratch I should try to pick a single ASCII character that none of the common shells treat as special. I am not even sure that such a character exists, does it? > and more generally, there's the consistency > aspect, as you mention. That matters, for example, for scripts > that want to escape arbitrary local paths when calling svn. > Today, the rule is "Append an '@', and if it starts with a > caret-slash then prepend './'."; it would be nice not to break > this. True. > An --option sounds a little too specialized to me. Also, it's a > form of action at a distance (the positional arguments and the > --option's presence would be coupled), whereas the ^/ syntax is > self-contained. Also true, but depends on one's viewpoint. I viewed `svn cp --remote' as a command acting upon the remote repository and `svn cp' as a command acting upon the working directory. In other words -- as a remote and a local command: two different commands with different interpretation of their arguments. Although this view is factally wrong, it helps me understand SVN better, because local operations and sever-side operations are in my opinion very different, even though they fall into the same categories of copy, delete, move, &c. They are like different implementations of the same interface, but I divagate. -- () ascii ribbon campaign - against html e-mail /\ http://preview.tinyurl.com/qcy6mjc [archived]