On Sat, Aug 14, 2010 at 04:05:17AM +0100, chr...@lavabit.com wrote:
> Hello,
> 
> I'm running 'svn diff ...' from my application.
> I want to make it work with filenames that contain '@'.
> However, I'm finding, what appear to be, inconsistencies in its
> behaviour.
> 
> For testing I have a working copy with 2 files 'example.txt' &
> 'e...@mple.txt'.  Both contain plain ASCII, are updated to HEAD & each
> have > 3 committed revisions.
> If I run the following script I see output as indicated alongside
> the commands.
> 
> ---------->8---------->8---------->8----------
> #!/bin/sh
> 
> F="${1:-...@mple.txt}"
> echo 'XXXX' >> "$F"
> 
> echo "WITH NO -r:"              # Output:
> svn diff "$F"                   # <DIFF>
> svn diff "$F"@                  # ERROR: '<name>@' is not under
> version control
> svn diff "$F"@HEAD              # ERROR: '<name>@HEAD' is not under
> version control
> svn diff "$F"@BASE              # ERROR: '<name>@BASE' is not under
> version control
> 
> echo ""; echo "WITH -rHEAD:"    #           v--- iff $1 contains '@'
> svn diff -rHEAD "$F"            # <DIFF> or ERROR: Syntax error
> parsing revision 'MPLE.TXT'
> svn diff -rHEAD "$F"@           # <DIFF>
> svn diff -rHEAD "$F"@HEAD       # <DIFF>
> svn diff -rHEAD "$F"@BASE       # <DIFF>
> 
> echo ""; echo "WITH -rBASE:"
> svn diff -rBASE "$F"            # <DIFF>
> svn diff -rBASE "$F"@           # ERROR: '<name>@' is not under
> version control
> svn diff -rBASE "$F"@HEAD       # ERROR: '<name>@HEAD' is not under
> version control
> svn diff -rBASE "$F"@BASE       # ERROR: '<name>@BASE' is not under
> version control
> 
> echo ""; echo "WITH -rPREV:"    #           v--- iff $1 contains '@'
> svn diff -rPREV "$F"            # <DIFF> or ERROR: Syntax error
> parsing revision 'MPLE.TXT'
> svn diff -rPREV "$F"@           # <DIFF>
> svn diff -rPREV "$F"@HEAD       # <DIFF>
> svn diff -rPREV "$F"@BASE       # <DIFF>
> 
> svn revert "$F"@
> ---------->8---------->8---------->8----------
> 
> Is this expected/desired?  Should I create a new issue?  (I couldn't
> find anything similar.)

These were similar:
http://subversion.tigris.org/issues/show_bug.cgi?id=3416 
http://subversion.tigris.org/issues/show_bug.cgi?id=3651

Peg revision parsing is inconsistent in many subcommands.
We've done some work on it, but it needs to be cleaned up in a few more
places still. Please file a new issue. Thanks.

> Is there a consistent (backwards & forwards compatible) syntax I can
> use?

No, unfortunately you cannot. These bugs prevent people from using a
consistent syntax in scripts, which is why it's great that you reported
this so we can fix it.

Stefan

Reply via email to