SVN:从命令行清理/删除原始副本

SVN:从命令行清理/删除原始副本

如何从命令行清理/删除工作副本的所有原始副本?

用例:

  • 我已经签出了多个工作副本(超过 20 个)
    (我们公司的许多开发人员都是这种情况)
  • 其中一些工作副本会随着时间的推移变得越来越大
  • 当磁盘空间不足时,我需要按照说明手动清理每个工作副本在这个答案中 (先前检查哪些工作副本占用了大部分磁盘空间)
  • 奖励:计算(估计?)原始副本占用的磁盘空间,并且仅调用清理,如果它会导致... GB 被释放。

这很繁琐,而且容易出错,所以我想自动执行这 20 多项清理工作编写成vacuum_pristine_copies.XXX脚本,可以在最需要的时候执行。

附有标签

  • 可以cleanup从命令行调用(参见文档在这里)。
    但是,这缺少一个/vacuum-pristine选项。(我们已经使用此 TortoiseSVN 自动化进行批量更新)。
  • 我们在 Windows 机器上工作,但我们并不局限于此CMD
    一个可能的替代方案可能是 Python27。

答案1

为了TortoiseSVN该选项或参数/vacuum与开发人员提到的一致在电子邮件中。正如您所指出的,它目前在文档中缺失。

SVN 1.8引入自动清理原始命令cleanup1.9使其成为可选功能。资料来源:SVN 更新日志

答案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”也会对其进行清理。

相关内容