何时从HEAD创建新的存储库是正确的?

时间:2011-07-29 17:28:03

标签: svn version-control

我去年八月创建了一个存储库,我已经使用它一年了。我提交了大约900个提交。我开始怀疑我是否应该重新创建一个新的存储库。

这不是我每年都会做的事情。

去年我对颠覆很新,我犯了很多错误......

大多数错误都与加载不应加载的文件有关。像视频文件等。使我的存储库非常大。

另外,我对合并一无所知,并且由于没有正确合并而打破了很多跟踪。

所以,我想我应该开始新的.....

拿走我的HEAD然后重新开始。

现在有一些与此相关的随机头脑风暴思想。

  • 我仍然可以保留旧的仓库,并将其设置为只读。
  • 我可以在NEW回购中维护历史记录,但不能保留数据吗?
  • 如果我重新开始,它是否像支票簿?我可以订购新的仓库以某个号码开始吗?

1 个答案:

答案 0 :(得分:1)

如果有历史对你没用,只是浪费空间,那么创建一个新的回购是个好主意。有很多方法可以根据你知道多少SVN来解决这个问题,但是直接的方法是查看你想要作为起点的旧版本,然后从中创建一个新的repo,查看下一个版本,提交,并重复。

当然,您需要编写一些工具来帮助解决这个问题。当您查看旧版本时,有许多隐藏的.svn目录包含元数据。因此,不要svn checkout <url>执行svn export <url>。它将导出除.svn元数据目录之外的文件。用它来创建新的仓库。

然后,将这些文件复制到已检出的新仓库中。然后只需添加这些文件的svn。然后,提交它,你就完成了。

从列出所有修订号的文本文件中驱动该过程可能是个好主意,每行一个。这样,如果你想跳过一堆与合并问题有关的东西,很容易就这样做。

你可以用bash shell脚本完成整个过程,但如果你有一些像Python等脚本语言的技能,那么你可能会觉得比bash更容易。

不要忘记收集每个修订版的日志消息,并在提交新的repo时添加它。大多数svn命令采用-r选项,因此您可以执行svn log -r 334之类的操作来获取仅版本334的日志消息。