发新话题
打印

[已解决] 怎样在VSS里递归/批量purge已被删除的项目或文件( 此文章被查看:364次,被回复:5篇!! )

本主题由 hongerchen 于 2008-6-20 23:01 关闭

怎样在VSS里递归/批量purge已被删除的项目或文件

一个被VSS管理的历史项目,project下有很多层subprojects,有些节点的properties->deleted Items中有很多被删除delete但没有destory的文件或者项目。
想purge这些以便释放空间,有什么办法能够递归实现,总不至于一层一层展开,再手动purge吧?


问题已经解决 [打开主题]
本主题的最佳答案为 [ 6 楼].



© 本文为 cebioSCMLife 共同所有,未经同意,请勿转载 ©如该文侵犯了您的版权,请联系管理员

TOP

自己写个工具吧。



© 本文为 hiflySCMLife 共同所有,未经同意,请勿转载 ©如该文侵犯了您的版权,请联系管理员

TOP

批处理应该可以吧?



© 本文为 hongerchenSCMLife 共同所有,未经同意,请勿转载 ©如该文侵犯了您的版权,请联系管理员
学习创造财富   交流建立友谊

TOP

回复 板凳 的帖子

阿奇:
ss子命令直接实现应该做不到。
ss Purge VSS items [-H] [-I-] [-N] [-O] [-Y] [-?] (vss6)
ss Purge <items> [-H] [-I-] [-N] [-O] [-R] [-Y] [-?] (vss2005)
这里的<items>是指已经删除deleted的项,而楼主的意思不是这样。
至少应该要多个命令,并经过处理才可以一次删除。
稍后研究一下。

© 本文为 hifly 所有,未经同意,请勿转载
©如该文侵犯了您的版权,请联系管理员

TOP

...
ss DIR <project-items> [-D]  > dirdel.txt
举例:dirdel.txt
$/Test/TestShare:
TestDel.txt

$/Test/TestShare/TestDir:
DirFileGetByLabel.bat

2 item(s)


然后手工处理一下dirdel.txt,具体就是在每一项前增加
ss Purge ...
然后另存为purdel.bat。
样例对应的purdel.bat:
set path ...(省略)
...(省略)


ss Purge $/Test/TestShare/TestDel.txt
ss Purge $/Test/TestShare/TestDir/DirFileGetByLabel.bat

如果不需要每删除一项,都确认,可以加参数 -I-

最后执行purdel.bat即可。

注意:
关于命令的使用,可以参看论坛其他帖子。
需要destroy权限,另外请注意vss6/vss2005命令部分选项不同。
可以借助其他的工具,比如perl,对dir结果直接处理为新的purge命令,就可以做到全自动化。
也可以自己开发工具。
提供我的工具参见 http://bbs.scmlife.com/thread-11449-1-1.html

[ 本帖最后由 hifly 于 2008-3-29 16:38 编辑 ]

© 本文为 hifly 所有,未经同意,请勿转载
©如该文侵犯了您的版权,请联系管理员

TOP

受版主启发,仔细看看了vss2005的帮助文档关于ss命令
发现可以这样处理
ss purge -R $/*.*
注意一定要加上通配符


最佳答案
该回答被楼主/管理员列为正解!
本帖最近评分记录
  • hifly 金钱 +5 2008-4-1 12:37

© 本文为 cebio 所有,未经同意,请勿转载
©如该文侵犯了您的版权,请联系管理员

TOP

发新话题