【问题标题】:Adding multiple versions of a project into SVN and tagging them将项目的多个版本添加到 SVN 并标记它们
【发布时间】:2012-12-14 12:36:40
【问题描述】:

我对 SVN 还很陌生,但我正在掌握它。基本上我已经在 Eclipse 中创建了一个项目,我们在计算机上本地保存了项目的 2.1、2.2 和 2.3 版本。我已经为第一个(2.1)设置了我的服务器存储库,所以它位于主干文件夹中,并且有一个标记版本(标记 2.1),但是我该如何添加 2.2 和 2.3,所以他们;可以添加到tag文件夹中,然后我们就可以使用2.3作为主干版本了:

我们的存储库结构看起来像这样只是为了给你们一个视觉,因为我的解释不是最清楚的:

RepositoryLocation/

CoreFiles/
trunk
tags

CoreWeb/
trunk
tags

etcFolders/
trunk
tags

(每个项目中大约有 9 个不同的文件夹)

我们非常确定我们希望项目中的每个文件夹都有一个主干/标签,在进行了一些研究之后,我们认为这将使将来更改某些区域更容易。但是我们不确定现在如何将 2.2、2.3 项目和所有相关文件夹添加到标签中,项目中的文件夹结构完全相同,因此无法想象如果掌握正确的知识会太困难。欢迎任何 cmets,如果在描述时描述得不够清楚,我们深表歉意。

【问题讨论】:

    标签: svn tags repository trunk


    【解决方案1】:

    如果项目从一开始就在 SVN 中,您将拥有以下内容:

    trunk ------------------------------------------------------------------->
             \_ v2.1 tag             \_v2.2 tag          \_v2.3 tag
    

    每个- 代表主干中的一个新提交。

    如果您想重新创建此历史记录,请从您拥有的主干开始,其中包含 v2.1 中的代码。然后,在您的工作副本中,将所有文件替换为 2.2 版中的文件,提交,然后标记。然后将所有文件替换为 2.3 版本的文件,提交,然后标记。

    假设您使用的是最新版本的 SVN,它的根目录下只有一个 .svn 文件夹。用新文件替换旧文件时不要删除此文件夹。

    【讨论】:

    • 非常感谢您的帮助,对于延迟响应感到抱歉,但它现在可以正常工作了 :)
    【解决方案2】:

    @JB 的后续行动:

    如果 CoreFiles + CoreWeb + etcFolders 形成项目,您最好在 repo 的根目录中拥有单个树干/分支/标签树(因此 - 复制整个项目)

    如果CoreFiles CoreWeb etcFolders是独立的项目,但它们作为子项目的组合产生超级项目,你可以拥有当前树(但您在每个基础项目中都忘记了/branches),但也可以使用外部创建“组合超级项目”(在此 repo 的根目录中或 /better/ 在新的单独存储库中)

    【讨论】:

      猜你喜欢
      • 2023-03-06
      • 2015-05-23
      • 1970-01-01
      • 2013-07-07
      • 2011-09-03
      • 1970-01-01
      • 2023-04-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多