【问题标题】:Replace Subversion Folder and Retain History替换 Subversion 文件夹并保留历史记录
【发布时间】:2009-10-06 13:54:02
【问题描述】:

我在一个 SVN 存储库中有两个开发树 v3.3 和 v3.4。它们都包含一个名为 test-harness 的项目。但是,v3.4 开发人员破坏了测试工具,因此我们需要 v3.3 中项目的测试工具来覆盖我们在 v3.4 中的内容。我想保留对 3.4 测试工具所做的更改历史,因为它有一些有趣的想法。
我曾想过删除 3.4 test-harness 文件夹,然后将 3.3 test-harness 的导出副本添加到 3.4 中,但随后我会丢失 v3.4 test-harness history 。 . .
最好的方法是什么?

【问题讨论】:

    标签: svn version-control replace history directory


    【解决方案1】:

    删除 3.4 文件夹并在其上复制 3.3 文件夹时,不会丢失任何内容。这就是颠覆的存在。您可以使用“peg revision”访问“旧”版本 3.4,即使用

    svn ls path:/to/repository/version/3.4@<some old revision>
    

    看看旧版本的路径是什么样的。

    【讨论】:

    • peg 的修订版本和 tortoise svn 中的标签一样吗?
    • 我从未使用过 TortoiseSVN。不过,标签是不同的——即使在没有真正标签的颠覆中也是如此。查看svnbook.red-bean.com/en/1.5/svn.advanced.pegrevs.html 了解挂钩修订的详细信息。
    • 谢谢,我一直不太明白 peg 修订是为了什么,但今晚我用历史替换了一些东西(就像操作员正在考虑的那样),然后也不得不弄清楚如何查看旧历史。挂钩修订! ;-)
    【解决方案2】:

    您可以删除 3.4 文件夹中的所有文件,然后在该空文件夹中分支(或复制)V3.3。无论如何,Subversion 都会保留 3.4 文件夹的全部历史记录。我认为最好的办法是将当前的 3.4 版本分支到另一个文件夹(例如 3.4-broken 也应该保留历史记录),删除原始文件夹并将 3.3 分支到 3.4。

    【讨论】:

    • 当 svn 保留历史记录时,为什么我要将 3.4 分支到另一个文件夹?
    • 使用某种存储库浏览器更容易访问它。
    【解决方案3】:

    也许对你有帮助:

    移动文件或目录

    svn move source destination
    

    重命名文件或目录:

    svn rename oldname newname
    

    []的,

    过去

    【讨论】:

      猜你喜欢
      • 2010-11-02
      • 1970-01-01
      • 1970-01-01
      • 2011-04-22
      • 1970-01-01
      • 2020-04-05
      • 2020-03-16
      • 2021-07-28
      相关资源
      最近更新 更多