On Tue, Feb 09, 2010 at 11:27:21AM +0100, Janosch Scharlipp wrote: > > Thanks for your answers, but still i think this is not as it should be. > If the parameter is expanded by the shell, or as if it was the shell, then > the shell escaping mechanism (^ on windows) should work. > If parameter expansion takes place deeper in the program itself, then it > should know, that this parameter should not be expanded.
As far as I understand the link I gave you, the behaviour depends on the implementation of the shell, and the C runtime (which, in case you didn't know, includes start-up code for a C program which runs before the main() function of the program, i.e. before the program itself takes control). So this behaviour is beyond Subversion's control. Subversion receives a list of arguments in its main method, including a list of paths to operate on. This list may have been expanded either by your shell or by the C runtime, depending on which shell and runtime you are using. But Subversion itself has nothing to do with it. I agree that the situation is not as it should be. But you'll need to talk to the vendors who provide your shell and your C runtime to sort this out, not to us. Stefan