What does the Subversion status symbol "~" mean?

Viewed 75330

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.

11 Answers

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?

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.

This can happen when you remove the .svn folder in a folder (by example when you remove a directory, and then you create the same directory again), or when you replace a directory with a symbolic link, or a file with the same name.

Supposing it's a folder called a-folder, you can fix this by issuing the following commands in the parent folder:

$ find a-folder -type d -name '.svn' -print0 | xargs -0 rm -Rf
$ svn up --force .
svn: Directory 'logs/.svn' containing working copy admin area is missing
$ svn up --force .
E    a-folder
...
Updated to revision n.

And then it's matter of svn adding/removing and commiting the changes again

Related