What does the Subversion status symbol "~" mean?

I am getting a tilde symbol when I do an svn status.

Here is the output of the project after editing it in XCode.

svn status
M      build/Currency_Converter.build/Currency_Converter.pbxindex/imports.pbxbtree
M      build/Currency_Converter.build/Currency_Converter.pbxindex/pbxindex.header
M      build/Currency_Converter.build/Currency_Converter.pbxindex/symbols0.pbxsymbols
~      build/Currency_Converter.build/Currency_Converter.pbxindex/strings.pbxstrings
M      main.m
//more changed files

Any idea what that means? Can't seem to find it on google or any of the svn cheat sheets.

Interestingly, I only edited main.m, but there are lots of modified files. I don't know why that would be. Anyone have any tips for working with SVN and XCode? Should I only be putting my source files under version control?

Edit: Caused by a file that was already under version control being replaced by a file of another type. In this case, strings.pbxstrings used to be a file and now became a directory. Moral of the story is don't put your build folder into version control.


The SVN Book says:

Item is versioned as one kind of object (file, directory, link), but has been replaced by different kind of object.

So perhaps it was originally a single file, but you changed it to a directory, or something along those lines?


Here's what i did:

If the folder is Test

  1. mv Test Test1
  2. svn remove Test
  3. mv Test1 Test

From

svn help status

'~' versioned item obstructed by some item of a different kind

I have only seen this where the file permissions had changed and svn had no execute access on it I beleive.

Hope this helps.


The easiest way to fix this is to backup, then delete the folder or file that has this status and then do "svn up": it's not necessarily a folder relplaced by a file, it might be just that .svn folder is missing or corrupted.