【问题标题】:Are there good ways to have branching documents repository?有没有很好的方法来拥有分支文档存储库?
【发布时间】:2010-09-25 21:49:35
【问题描述】:

我有兴趣做以下事情。我想维护一份文档的主副本,然后为该文档创建可能包含少量修改的分支。我希望将本文档分支中的修改与我对主要文档所做的任何更改合并。

就像能够更新“模板”和该模板的实例化一样。 有什么好的工具可以做这样的事情? svn可以吗? (您可以假设文档只是文本文件,没有花哨的格式。)

【问题讨论】:

    标签: svn repository


    【解决方案1】:

    是的,svn 可以做到这一点。对于 svn 来说,无论是管理源代码还是其他 txt 文件都没有区别。如果您在文档底部添加 2 个分支,这可能并不理想,但我认为任何 SCM 系统都会在这种情况下发生冲突。

    【讨论】:

      【解决方案2】:

      git 也可能是一个选项。看看A successful Git branching model。每个“修改过的文档”都可以被视为一个功能分支,而您的“模板”位于trunk中。

      使用 功能分支 也适用于“svn”。

      【讨论】:

        【解决方案3】:

        如果您的版本化文件是二进制文件,而不是文本文件,您将无法将“模板”中的更改合并到分支版本。所有 Microsoft 格式(和 openoffice 压缩文件)都是二进制 blob。我知道的大多数版本控制系统中的合并都是按行粒度完成的。

        除此之外是的,这是很有可能的。

        svn copy trunk/mydoc.txt branches/branch1/mydoc.txt
        svn copy trunk/mydoc.txt branches/branch2/mydoc.txt
        

        如果您稍后在主干中更改您的版本,您可以将更改传播到您的功能分支。

        cd branches/branch1
        svn merge http://mysvnserver.tld/reponame/trunk/mydoc.txt
        svn commit
        cd ../..
        cd branches/branch2
        svn merge http://mysvnserver.tld/reponame/trunk/mydoc.txt
        svn commit
        

        这是简化的程序。最好不要在可能的最高级别(分支级别)上分支和合并单个文件。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2011-11-08
          • 2017-02-18
          • 2016-07-22
          • 2021-02-23
          • 1970-01-01
          • 1970-01-01
          • 2023-03-29
          • 1970-01-01
          相关资源
          最近更新 更多