如何从命令行清理/删除工作副本的所有原始副本?
用例:
- 我已经签出了多个工作副本(超过 20 个)
(我们公司的许多开发人员都是这种情况) - 其中一些工作副本会随着时间的推移变得越来越大
- 当磁盘空间不足时,我需要按照说明手动清理每个工作副本在这个答案中 (先前检查哪些工作副本占用了大部分磁盘空间)
- 奖励:计算(估计?)原始副本占用的磁盘空间,并且仅调用清理,如果它会导致... GB 被释放。
这很繁琐,而且容易出错,所以我想自动执行这 20 多项清理工作编写成vacuum_pristine_copies.XXX
脚本,可以在最需要的时候执行。
附有标签
- 可以
cleanup
从命令行调用(参见文档在这里)。
但是,这缺少一个/vacuum-pristine
选项。(我们已经使用此 TortoiseSVN 自动化进行批量更新)。 - 我们在 Windows 机器上工作,但我们并不局限于此
CMD
。
一个可能的替代方案可能是 Python27。
答案1
答案2
对于 1.10 之前的 svn,您只需输入“svn cleanup”而不输入任何参数。完成清理后,svn 将自动清理 pristines。
对于 svn 1.10(我希望是 1.10 或更高版本),您可以输入上述命令以及“--vacuum-pristines”(“svn cleanup --vacuum-pristines”),svn 将为您执行相同的操作。但您也可以添加其他参数,svn 将在一个命令中执行所有参数。例如,“svn cleanup --remove-unversioned --remove-ignored --vacuum-pristines”
当然,与旧版本一样,在 1.10 中输入不带任何参数的“svn cleanup”也会对其进行清理。