代码之家  ›  专栏  ›  技术社区  ›  AndreasT

subversion:摆脱版本控制的“.svn”目录

svn
  •  5
  • AndreasT  · 技术社区  · 14 年前

    在我的存储库中。别问我它是怎么到那儿的。

    有什么想法吗?

    编辑: svn rm 删除父目录并将其添加回。

    澄清:

    svn delete <repo url>/foo/.svn
    

    不起作用。我想我尝试了命令和参数的每一个简单组合。 我敢肯定,如果这是可行的,这是一个黑客。 我知道这个方法:dump->使用工具修改转储->再进口 你/它一直在受打击。

    2 回复  |  直到 14 年前
        1
  •  2
  •   Jukka Suomela    14 年前

    带有URL的“svn rm”似乎运行良好,我只是尝试了一下(使用svn 1.6.5,Mac OS X):

    $ svn ls -R file:///xxx/testrepo
    foo/
    foo/.svn/
    foo/.svn/baz
    foo/bar/
    foo/bar/baz
    
    $ svn rm -m 'Yes it works.' file:///xxx/testrepo/foo/.svn
    Committed revision 6.
    
    $ svn ls -R file:///xxx/testrepo
    foo/
    foo/bar/
    foo/bar/baz
    

    您也可以使用“svn mv”,无需删除任何内容:

    $ svn ls -R file:///xxx/testrepo
    foo/
    foo/.svn/
    foo/.svn/baz
    foo/bar/
    foo/bar/baz
    
    $ svn mv -m 'Rename works too.' file:///xxx/testrepo/foo/.svn \
        file:///xxx/testrepo/foo/dotsvn
    Committed revision 8.
    
    $ svn ls -R file:///xxx/testrepo
    foo/
    foo/bar/
    foo/bar/baz
    foo/dotsvn/
    foo/dotsvn/baz
    

    另外,在svn存储库中创建“.svn”目录很简单:只需将svn cp或svn mv与URL一起使用即可。

        2
  •  0
  •   Zac Thompson    14 年前

    svn delete 它直接从存储库中删除,例如。,

    svn rm -m "removing checked-in .svn" http://myserver/svn/repo/trunk/dir/.svn

    svn update 检索已更正的版本。