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

Luk*_*sik 7 svn merge

我是SVN的初学者.我有这样的SVN目录结构:

|-trunk
  |-file1.php
  |-file2.php
|-branches
  |-branch_1
    |-file1.php
    |-file2.php
  |-branch_2
    |-file1.php
    |-file2.php
Run Code Online (Sandbox Code Playgroud)

在后台我有我的应用程序的主要版本.我有两个分支用于不同的客户端,仅在某些文件中有修改.当我发现一些核心错误时,我将它固定在trunk中.比如我修改了file1.phptrunk目录中.我想对file1.php所有分支中指定的文件应用更改.

我有点困惑.在使用Subversion版本控制中,我找到了以下解释.

Subversion的存储库有一个特殊的设计.复制目录时,您不必担心存储库增长巨大 - Subversion实际上并不复制任何数据.相反,它会创建一个指向现有树的新目录条目.

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

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

svn merge -r 31:32 http://mysvnserver.com/project/branches/branch_1
Run Code Online (Sandbox Code Playgroud)

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

Eth*_*her 10

如果你想申请从主干到branch_1变更,合并命令需要指定要得到DIFF ,然后指定一个目标应用合并到:

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
Run Code Online (Sandbox Code Playgroud)