Subversion状态符号"〜"是什么意思?

jer*_*son 109 svn xcode status

当我做一个时,我会得到一个波浪符号svn status.

这是在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
Run Code Online (Sandbox Code Playgroud)

知道这意味着什么吗?似乎无法在谷歌或任何svn备忘单上找到它.

有趣的是,我只编辑了main.m,但是有很多修改过的文件.不知道为什么会这样.任何人有任何使用SVN和XCode的技巧?我应该只将我的源文件置于版本控制之下吗?

编辑: - 由已在版本控制下的文件替换为另一种类型的文件引起的.在这种情况下,strings.pbxstrings曾经是一个文件,现在变成了一个目录.故事的道德是不要将您的构建文件夹置于版本控制中.

Cha*_*rch 88

SVN书说:

项目被版本化为一种对象(文件,目录,链接),但已被不同类型的对象替换.

也许它原本是一个单独的文件,但是你把它改成了一个目录,或者沿着这些行的东西?

  • 最佳解决方案是重命名新对象(在您的情况下,目录); "svn从存储库中删除导致冲突的对象(可能是您已删除的文件),提交,然后重新命名新对象,并将"svn add"添加到存储库.再次提交.您将有一个包含3个修订版的序列,其中旧对象已存在,已删除,并且分别添加了新对象. (47认同)
  • 如果读这个帖子的人有同样的问题:这发生在我身上,'〜'状态的原因是我在存储库中有一些符号链接,这些符号链接被标准文件通过'sed -i'操作覆盖.我重新创建了符号链接,'〜'消失了. (8认同)
  • @JamieBullock今天同样的事情也发生在我身上.在我知道问题出现之前,我尝试过这个命令:`svn status | grep ^〜| grep -o [^ [:space:]]\*\$ | xargs svn revert`能够恢复所有的符号链接. (5认同)

Tuo*_* Le 34

这是我做的:

如果文件夹是测试

  1. mv测试测试1
  2. svn删除测试
  3. mv Test1测试

  • 只要我在删除和添加之间做出承诺,这对我有用.1. mv Test Test1 2. svn remove test 3. svn commit -m"Removed Test"4.mv Test1 Test 5. svn add test 6. svn commit -m"Added Test" (5认同)
  • @sancelot 的答案要好得多;如果使用“svn delete --keep-local fileName”,则无需重命名。 (3认同)

小智 15

svn help status
Run Code Online (Sandbox Code Playgroud)

'〜'版本化的项目受到某种不同类型项目的阻碍

我只看到了文件权限已经改变的地方,并且svn没有执行访问权限我相信.

希望这可以帮助.


dea*_*mer 12

解决此问题的最简单方法是备份,然后删除具有此状态的文件夹或文件,然后执行"svn up":它不一定是文件替换的文件夹,可能只是.svn文件夹丢失或损坏.


san*_*lot 11

svn delete --keep-local x
svn commit -m "del x"
svn add x
svn commit -m "blah"
Run Code Online (Sandbox Code Playgroud)


elG*_*LLa 10

当您删除文件夹中的.svn文件夹时(例如,当您删除目录,然后再次创建相同的目录时),或者使用符号链接替换目录或具有相同名称的文件时,可能会发生这种情况.

假设它是一个名为a-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.
Run Code Online (Sandbox Code Playgroud)

然后是svn添加/删除并再次提交更改的问题