On Jun 4, 2010, at 04:24, Stefan Sperling wrote: > On Thu, Jun 03, 2010 at 04:58:23PM -0500, Russell E Glaue wrote: >> If you accidentally put the at symbol in a directory name like this: >> >> svn copy http://svn.domain.com/repos/trunk/my...@49 >> http://svn.domain.com/repos >> /trunk/my...@head -m "bring back rev 49 from the dead" >> >> You end up with the following path in HEAD: '/trunk/my...@head/' >> Where '@HEAD' is part of the actual directory name. > > Which version of Subversion were you using? > I bet this copy won't produce the same result with 1.6.5 or greater. > > The @ character within the basename of a path is always special to svn. > It means "what follows is a peg revision". > See http://svnbook.red-bean.com/nightly/en/svn.advanced.pegrevs.html > > Contrary to what the book describes, versions of Subversion before 1.6.5 > were inconsistent about parsing peg revisions on the command line. > In your case, the copy command did not treat the @ in a special way, > but the delete command did. > In 1.6.5 this was fixed so that all commands treat the @ in a special way.
I reproduced Russell's problem using Subversion 1.6.11 on Mac OS X 10.6.3 (svn copying to "my...@head" did create an item in the repo called "my...@head"), and using "svn rm my...@head@" allowed him to remove the offending item.