SVN - 如何将主干中所做的更改应用于所有分支

2024-03-15

我是 SVN 的初学者。我的 SVN 目录结构如下:

|-trunk
  |-file1.php
  |-file2.php
|-branches
  |-branch_1
    |-file1.php
    |-file2.php
  |-branch_2
    |-file1.php
    |-file2.php

在主干中我有我的应用程序的主要版本。我有两个针对不同客户端的分支,它们仅在某些文件中进行了修改。当我发现一些核心错误时,我会在主干中修复它。例如我修改了file1.php in trunk目录。我想将更改应用到名为file1.php在所有分支机构。

我有点困惑。在里面使用 Subversion 进行版本控制 http://svnbook.red-bean.com/en/1.1/index.html我找到了以下解释。

Subversion 的存储库有一个特殊的 设计。当您复制目录时,您 不需要担心 存储库变得越来越庞大——Subversion 实际上并不重复任何数据。 相反,它会创建一个新目录 指向现有树的条目。

所以我认为当我提交文件中的更改时trunk\file1.php它将自动应用于其他file1.php文件,因为我没有对这些文件进行任何更改branches目录。

如何将主干目录中的更改应用到所有分支?我试图使用svn merge像这样:

svn merge -r 31:32 http://mysvnserver.com/project/branches/branch_1

但我没有做任何改变(svn diff -r 31:32返回我所做的所有更改。)


如果要将主干的更改应用到branch_1,则合并命令需要指定从何处获取差异from,然后指定要应用合并的目标:

cd branch_1
svn merge -r 31:32 http://mysvnserver.com/project/trunk .
svn diff   # confirm that the only diff is your change to file1.php
svn commit
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SVN - 如何将主干中所做的更改应用于所有分支 的相关文章

随机推荐