SVN:从命令行真空/删除原始副本

har*_*oth 1 tortoise-svn command-line svn

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

用例:

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

这既乏味又容易出错,所以我想将这 20 多个清理自动化到一个vacuum_pristine_copies.XXX脚本中,可以在最需要的时候执行。

封闭标签

  • 可以cleanup从命令行调用(请参阅此处的文档)。
    然而,这缺乏/vacuum-pristine选择。(我们已经使用这个 TortoiseSVN 自动化来进行批量更新)。
  • 我们正在 Windows 机器上工作,但我们并没有固定在CMD.
    一种可能的替代方案是 Python27。

hea*_*rst 5

对于 1.10 之前的 svn,您只需键入不带任何参数的“svn cleanup”。完成清理后,Svn 会自动清空原始文件。

对于 svn 1.10(我希望可能或更高版本),您输入上述命令和“--vacuum-pristines”(“svn cleanup --vacuum-pristines”),svn 会为您做同样的事情。但是您也可以添加其他参数,svn 将在一个命令中执行所有这些参数。例如,(“svn cleanup --remove-unversioned --remove-ignored --vacuum-pristines”)

当然,与旧版本一样,在 1.10 中键入不带任何参数的“svn cleanup”也会对其进行清理。