首页 文章

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

提问于
浏览
109

当我做 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

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

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

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

11 回答

  • 12

    SVN Book说:

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

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

  • 0

    这是我做的:

    如果文件夹是测试

    • mv测试Test1

    • svn删除测试

    • mv Test1测试

  • 3

    svn help status
    

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

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

    希望这可以帮助 .

  • 3

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

  • 2
    svn delete --keep-local x
    svn commit -m "del x"
    svn add x
    svn commit -m "blah"
    
  • 34

    当您删除文件夹中的.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.
    

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

  • 12

    有一个类似的问题,SVN抱怨锁定 . 这是我们做的:

    • 备份文件

    • 用rm -r(linux)删除了有问题的目录

    • Ran svn cleanup 在目录中

    • Ran svn up --force 在目录中

  • 10

    我只是想分享一下,这是在Joomla中安装扩展时经常遇到的问题 . 扩展通过CMS安装,由apache拥有,没有组写 . 通常,下一步是将文件添加到SVN,但如果不sudo或更改文件perms,则SVN在无法写入.svn目录时失败 . 这是简单的解决方案 .

    mv foo foo-bak
    svn up foo
    svn revert foo
    
    # just for good measure. Foo should not show up in the two following commands.
    ls | grep foo
    svn st | grep foo
    
    mv foo-bak foo
    svn add foo
    
  • 2

    它可能也是Windows下的符号链接问题 . 当您将符号链接提交到SVN然后在Windows下检查时,链接将更改为常规文件,这也会报告为〜 .

  • 87

    我经常在升级(例如)Joomla!,Wordpress或Drupal下的模块时使用它 . 有时,.svn目录会被升级过程删除 .

    # rename updated directory
    mv foo foo.new
    
    # restore the old directory
    svn up foo
    
    # merge / update the old directory with new items
    # notice that the above command will preserve the obsolete files
    # so you should do a diff -r in order to remove them
    cp -r foo.new/* foo
    
    # Add files commit, etc
    svn add foo/*
    svn delete foo/xx
    svn commit -m "updated module"
    
  • 15
    ~ versioned item obstructed by some item of a different kind
        Second column: Modifications of a file's or directory's properties
    

相关问题