我刚刚使用类似的东西进行了合并:

svn merge -r 67212:67213 https://my.svn.repository/trunk .

我只有2个文件,其中一个是简单的ChangeLog 它不仅仅是合并我的ChangeLog更改,而是实际上将我的更改加上一些以前不在目标ChangeLog中的更改。 我注意到当我执行--dry-run时发生冲突,所以我更新了ChangeLog ,但仍然存在冲突(当我进行实际合并时,我看到了冲突)。

然后我对我合并的文件进行了分析:

svn diff -r 67212:67213 ChangeLog

我只看到了我所做的改变,所以我知道额外的改变并没有以某种方式进入。

这让我担心合并实际上并不只是采取我改变的东西,这是我所期望的。 谁能解释发生了什么?

更新:响应NilObject:

所以,我改变了2个文件,只有ChangeLog是相关的,另一个合并得很好。 当我进入我的常规行李箱结账时,我执行上面的diff命令并查看:

Index: ChangeLog
===================================================================
--- ChangeLog   (revision 67212)
+++ ChangeLog   (revision 67213)
@@ -1,3 +1,7 @@
+2008-08-06  Mike Stone  <myemail>
+
+   * changed_file: Details.
+
 2008-08-06  Someone Else  <their_email>

    * theirChanges: Details.

合并之前的更改后,ChangeLog的差异如下所示:

Index: ChangeLog
===================================================================
--- ChangeLog   (revision 67215)
+++ ChangeLog   (working copy)
@@ -1,3 +1,14 @@
+<<<<<<< .working
+=======
+2008-08-06  Mike Stone  <myemail>
+
+   * changed_file: Details.
+
+2008-08-06  Someone Else  <their_email>
+
+   * theirChanges: Details.
+
+>>>>>>> .merge-right.r67213
 2008-08-05  Someone Else2  <their2_email>

    * olderChange: Details.

请注意,错误输入的条目不在我合并的文件中,但它不是我的更改之一,不应该合并。 它很容易修复(删除不属于我的更改的额外行),但它仍然让我担心在SVN自动合并。

===============>>#1 票数:2 已采纳

这只发生在冲突中 - 基本上svn试图合并变化,但(粗略地说)看到变化为:

2008-08-06  Mike Stone  <myemail>

* changed_file: Details.

之前

2008-08-06  Someone Else  <their_email>

在进行合并时它无法找到Someone Else行,因此在进行冲突时对于上下文有点意外。 如果它是非冲突合并,则仅应用您预期的更改。

===============>>#2 票数:0

这里还没有足够的信息。

svn merge -r 67212:67213 https://my.svn.repository/trunk .

将合并修订版67212中的任何文件合并到存储库中的文件夹/ trunk中,并将它们合并到当前工作目录中。 如果你这样做:

svn log -r 67212

它显示哪些文件发生了变化? 合并只会从第一个参数中提取更改,并将它们应用于第二个参数。 它不会在第一个参数中上传回服务器。

如果这不能回答您的问题,您是否可以发布更多详细信息?

  ask by Mike Stone translate from so

未解决问题?本站智能推荐:

3回复

SVN不同的树合并

假设我的SVN中有A:/ A_Project / trunk / A和B:/ B_Project / trunk / B。 我想将A与B合并并存储在B中。我在TortoiseSVN GUI中使用了“合并两个不同的树”选项。 一切都很好,除了最终版本没有A树的更改日志! 问题是:在最终版
1回复

SVN合并组合

最近,我在将代码与同事的代码合并时遇到问题。 这是故事。 1)首先,我自己开发项目。 之后,一位同事加入了开发。 2)然后,我将开发代码用作主干代码,并像这样上载到svn主干文件夹。 3)然后我svn mkdir像这样制作2个分支 4)然后,我告诉我的同事签出主干
1回复

SVN合并还是切换?

我现在面临的一个问题是我们有一个branch和trunk现在我必须从分支代码中merge或更新主干,但是我不想覆盖trunk代码中所做的更改。 现在我们可以合并了,但是假设主干代码中所做的更改将发生什么呢? 我在trunk以及branch都有一个文件A.java ,我做了一些更改并从
1回复

SVN合并失败

我正在使用TortoiseSVN。 上一次将主干合并到分支中时,我不得不合并一些“ mergeinfos”,这就像带有单个文件路径的修订列表。 我选择了条目较少的列表(不知道为什么)。 首先是我非常简单的树: 树干 ----> branch1 ---->
1回复

SVN批准合并

我们有一个非常标准的开发过程:在一个新的功能请求/错误修复上,我们的开发人员创建了一个自己的SVN分支,在那儿开发代码,我们进行了几次代码审查迭代,再次提交了代码审查更改,并且当所有开发人员都认为确定时,我们喜欢将其合并回SVN中继的代码。 现在,一个来自使用级别以上的请求进入了系统:只有
10回复

SVN合并工具

SVN合并非常耗时(特别是在大型代码库上)并且容易出错。 Eclipse和Netbeans插件不能很好地为我服务。 目前我正在使用手动“svn merge”和图形diff Meld的组合 。 有没有更好的选择(非win32)?
2回复

SVN分支合并

我有一个关于在Subversion中合并的问题。 所以我有一个树干,然后有两个来自树干的分支。 假设我有一个主干,然后有一个从主干创建的分支A,然后又有一个从主干创建的分支B。 可以说,我先对B进行了更改,然后对干线进行了更改,然后将干线更改合并到了B中并签入了分支B。我现在想合并到分
2回复

svn合并是幂等的吗?

在我看来应该是这样的。 我假设你已经解决了第一次合并操作期间出现的任何冲突。
1回复

SmartGit合并SVN

我将SmartGit用于SVN存储库,并尝试解决master和testbranch之间的冲突。 从SmartGit解决冲突解决程序工具中的冲突可以正常工作时,我无法将其推送到SVN存储库。 svn: E160024: File or directory 'Testdata.txt' is
1回复

svn:合并分支

我对在SVN中合并分支尚不清楚,并且想知道是否有人可以解释... 假设我们有以下情况。 我们的svn存储库中有一个“ project1”。 鲍勃开始一个新项目“ project2”,并开始在树干下工作。 然后查理说:“等等,这有点像project1!” 因此,他告诉鲍勃,他将为p