Perforce problem with symbol @

We are using perforce and unity3d. We have a problem when we are submitting files that contain symbol “@” in their names, give us error it’s a not directory or file. Actually unity or perforce changes “icon@2x.png” to “icon%402x.png” then it says “icon%402x.png” is not directory or file. My question is how to submit these files.

Thanks.

I don’t know the cause of the problem, but I have a work around.

  1. Rename the file from “icon@2x.png” to “icon_2x.png” and submit.
  2. Delete your local “icon_2x.png” copy and Get Revision from perforce.
  3. Renamed the file back to “icon@2x.png” and submit the file again.
  4. Deleted the unwanted “icon_2x.png” file from perforce.

I’m guessing it’s a Perforce Win/Unix conversion problem.

We have found this happens only on adding a file to Perforce. This is likely due to nuances with what Perforce expects (1) not being followed by Unity. Our work around is just to revert the files with %40 marked for add and manually add in the files with @ back into the changelist.
UPDATE : Since the Perforce plugin is open-source, I fixed the code. I’ve posted the fix to GitHub here.

This is now corrected in the official release for Unity 4.5 and Unity 5.0