svn - 什么时候从 HEAD 创建一个新的存储库是正确的?

标签 svn version-control

我去年八月创建了一个存储库,我已经使用了一年。我最多有大约 900 次提交。我开始怀疑我是否应该重新创建一个新的存储库。
这不是我每年都会做的事情。
去年我对颠覆很陌生,我犯了很多错误....
大多数错误与加载不应加载的文件有关。比如视频文件之类的。使我的存储库非常大。
此外,我对合并一无所知,并且由于没有正确合并而破坏了很多跟踪。
所以,我想我应该开始一个新的......
拿我的HEAD并重新开始。
现在这里有一些与此相关的随机头脑 Storm 想法。

  • 我仍然可以保留旧的存储库,并将其设置为只读。
  • 我可以在 NEW repo 中维护历史记录,而不是数据吗?
  • 如果我重新开始,它就像支票簿吗?我可以订购新的 repo 以某个数字开始吗?
  • 最佳答案

    如果那里有对您无用的历史并且只是浪费空间,那么创建一个新的 repo 是一个好主意。有很多方法可以解决这个问题,具体取决于您知道多少 SVN,但一种直接的方法是检查您想要作为起点的旧版本,然后从中创建一个新的 repo,检查下一个版本,提交,然后重复。

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

    然后,将这些文件复制到已 checkout 的新仓库中。然后只需对这些文件进行 svn add 即可。然后,提交它,你就完成了。

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

    您可能只使用 bash shell 脚本就可以完成所有工作,但是如果您对 Python 等脚本语言有一定的了解,那么您可能会发现这比 bash 更容易。

    不要忘记为每个修订收集日志消息,并在提交到新存储库时添加。大多数 svn 命令采用 -r选项,这样您就可以执行 svn log -r 334 之类的操作仅获取修订版 334 的日志消息。

    关于svn - 什么时候从 HEAD 创建一个新的存储库是正确的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6876771/

    相关文章:

    java - 如何从 svn 进行结帐,在 java 中将路径作为字符串

    Git:是否有类似 TFS shelfset 的功能?

    vb.net - 在 Visual Basic .NET 项目中为分布式团队设置 SccAuxPath 属性的最佳实践是什么?

    linux - sed 删除 svn 访问控制列表中的用户

    svn - Subversion 将外部更新到某个日期

    eclipse - 我可以有一个既是 git 工作区又是 svn 工作区的工作区吗?

    svn commit 不带-m

    svn - 如何强制 subversion 提交未更改的文件?

    git - 在 git reset --hard HEAD 之后,git pull 仍然说 : Untracked working tree file . .. 将被 merge 覆盖

    wordpress - 单个 git repo 设置跟踪硬盘上的多个位置