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