在tags/我的SVN仓库的目录中,我有类似的东西:
TAG_BUILD_001
TAG_BUILD_002
TAG_BUILD_003
TAG_BUILD_004
...
TAG_BUILD_100
TAG_BUILD_101
...
Run Code Online (Sandbox Code Playgroud)
有没有办法从删除,比方说,一切BUILD_001要BUILD_099快?
我试过了:
svn rm https://host/module/tags/TAG_BUILD_0*
Run Code Online (Sandbox Code Playgroud)
但这似乎不起作用,我得到以下错误:
svn: URL 'https://host/module/tags/TAG_BUILD_0*' non-existent in that revision
Run Code Online (Sandbox Code Playgroud)
实际上,svn delete确实需要使用通配符,但前提是您正在进行本地删除而不是通过URL.解决方案是检查标签目录,然后删除标签.
现在,通常情况下,这样做需要大量的时间和几千兆字节的空间,因为每个标记都代表整个项目的修订版.如果每个标签的大小为100兆字节,那么您的结帐将为10千兆字节.
但是,该svn co命令现在采用以下--depth参数:
$ svn checkout --depth immediates https://host/module/tags svn-tags
Run Code Online (Sandbox Code Playgroud)
现在,您将检查所有标签,但不会检查其内容.这只需几分钟即可结账,而且几乎没有计算机空间,因为这些都是空目录.现在,您可以使用:
$ cd svn-tags
$ svn rm TAG_BUILD_00*
$ svn commit -m"Removed tags 000 through 099"
Run Code Online (Sandbox Code Playgroud)
而且,最重要的是,它都是在一次修订中完成的.