Subversion and files with @

If you have worked with Subversion and iOS you are probably aware of this problem. Whenever you are going to do something with a file that has an at sign in its name you can’t. For instance imagine you’ve just added a file for retina and try to add to the repository (XCode can do this too):

$ svn add logo@2x.png

The message from Subversion will be:

Skipped logo@2x.png

That’s because Subversion uses the @ for other purposes. From the Subversion book: does svn know whether news@11 is the name of a directory in my tree or just a syntax for “revision 11 of news”? Thankfully, while svn will always assume the latter, there is a trivial workaround...

The workaround is as simple as adding an at sign to the end of the path:

$ svn add logo@2x.png@