删除.svn / pristine的内容是否安全?

时间:2014-03-28 13:33:20

标签: svn working-copy

我正在使用我已从我的存储库中检出的大型应用程序,此应用程序的大部分位于.svn/pristine文件夹中。据我所知,pristine文件夹包含我的workingCopy目录中的文件副本

话虽如此,

  • 可以删除这些文件吗?
  • 我真的需要它们吗?

我已经备份了我的文件,无意还原。获得的额外空间也将大大减少我的编译时间。

修改

我现在明白在.svn内手动更改任何内容都可能会破坏我的workingCopy。

我需要找到一种方法来减少workingCopy的大小。在TortoiseSVN中,有Cleanup - Delete unversioned files and folders,其中"删除工作副本中的所有生成文件"。也许这会在不破坏我的应用程序的情况下摆脱这些文件?

干杯

3 个答案:

答案 0 :(得分:53)

您可以尝试启动svn cleanup。它将从.svn/pristine删除不必要的文件。

答案 1 :(得分:15)

  • 您不得手动触摸工作副本中的目录.svn。客户端操作需要该目录。

  • .svn目录仅存储工作副本元数据和WC文件的原始副本,仅用于客户端操作,它必须存在于每个SVN工作副本中,但不能存在于SVN存储库中。将它存储在Subversion存储库中可能会导致客户端出错。

    换句话说,您不能将目录.svn存储在存储库中。如果你在存储库中有这个目录,那么有人错误地提交了它;将其从最新版本中删除或通过filtering it out using svndumpfilter tool完全删除。

    请参阅SVNBook | Subversion Working Copies

      

    工作副本还包含一些额外的文件,创建和维护   通过Subversion,帮助它执行这些命令。特别是,   每个工作副本都包含一个名为.svn的子目录,也称为.svn   工作副本的管理目录。中的文件   管理目录帮助Subversion识别你的哪个   版本化文件包含未发布的更改以及哪些文件已用完   关于他人工作的约会日期。

  • 选项"Cleanup - Delete unversioned files and folders" in TortoiseSVN将删除工作副本中的无版本文件。例如,那些通过svn:ignore属性忽略的文件,运行构建或调试后生成的文件。

    我猜您在存储库/工作副本中存储了大型二进制文件。我不认为您可以在不重新组织SVN存储库的情况下解决工作副本大小问题。

答案 2 :(得分:6)

事实证明,我的真正的长期构建的原因是Eclipse的验证器!我关闭了JavaScript的所有验证器,并且构建几乎立即发生。难以置信的。