问题标签 [svn-merge]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
72 浏览

tortoisesvn - 将开发分支与乌龟SVN中的其他分支合并

我正在使用乌龟 SVN,并且我正在开发除开发分支之外的单独分支。我在该分支上的工作可能会持续超过 2 周左右,直到更新开发分支时我的代码将过时。我需要继续从主开发分支更新我的工作分支,我对所有修订使用合并,但它用开发文件替换我的分支文件而不是向我显示冲突,这意味着我在处理我的工作时所做的更改丢失了新的分支。我想用乌龟 SVN 向我展示与行号的冲突,或者至少向我展示我的和他们的,这样我就可以解决冲突并让我的工作分支保持最新。提前致谢。

我正在使用 tortoise for windows,tortoise SVN gui tool for windows 7. TortoiseSVN 1.8.2 我右键单击文件夹以合并并选择存储库 url 并选择所有修订单选按钮进行修订。

0 投票
1 回答
422 浏览

svn - SVN - 提交无法识别新文件夹中的文件

环境:

操作系统: Linux Mint 14

SVN:1.8.3

此问题发生在命令行和 subclipse 插件下。

我在现有项目下创建了一个新的 java 包,并在这个包中添加了许多类。当我提交到分支时,一切正常。但是,当我尝试将分支合并到主干中时,也就是重新集成(不要使用 --reintegrate 选项,它在 svn 1.8 中已弃用)发生任何错误并且没有冲突报告。合并带来所有修改,包括新包及其文件。

当我尝试提交或检查修改(svn 状态)时,只显示包。这些文件似乎是版本化的,并且在我的 repo 的最新版本中。这个事实也发生在其他分支中。每个包含新包的提交都有一个要合并到工作副本中的问题。

这很有趣,因为当我按修订合并分支修订时,它可以工作。似乎问题与自动合并有关。

0 投票
3 回答
298 浏览

svn - 合并/不合并 svn 标签的最佳实践

我创建了一个名为v1.5分支的标签。经过一些测试,我发现了一些错误,看来我必须将这些更改传播到tag/v1.5. 但我看到一些评论不建议更新或合并标签的这种做法。

我的问题是处理这种情况的最佳方法是什么。可能删除标签并从分支头修订版重新创建它?

0 投票
0 回答
256 浏览

svn - SVN合并问题

我有一个问题。我正在尝试将分支合并回主干。分支从未合并到主干。分支已重命名几次。现在,当我合并它时,它会停在一个特定的修订号(分支被重命名的修订号)。当我查看修订号的特定文件时,它会显示所有旧数据(但文件的当前状态包含所有最新数据)。反过来说它处于冲突状态。

上述问题是由于我们多次重命名该分支还是因为我们从创建它之日起就没有合并它或其他原因。我该如何克服这个问题。

谢谢

0 投票
2 回答
8698 浏览

svn - SVN Merge - Completely "theirs full" - Branch to trunk

I want to merge my branch to trunk and basically want to over-write all the code in branch to the trunk..While receiving conflicts I kept doing "theirs full" for all the conflict; but still at the end it shows so many conflicts.

All I want is over-write complete branch on my trunk. Surely a possible way is to branch out from my branch but then my trunk becomes useless !

Also, while doing svn merge can I give an option so that for all conflicts it takes a particular value ( in this case Full-theirs ) and I dont have to type it always for all the conflicts.

0 投票
1 回答
387 浏览

svn - 调用 svn merge 时如何调用批处理脚本(自定义合并)?

当我尝试将分支合并回主干时,必须调用运行声纳分析的批处理脚本。如果分析成功,则只有合并才能继续进行,否则必须中止。即单击合并时,必须在后台运行分析。

通过创建预提交挂钩脚本,在提交过程中也可以实现相同的目的。但是,是否也可以为合并过程做这样的事情?如果是这样,请进一步指导我。

0 投票
1 回答
8129 浏览

php - Tortoise SVN Merge "@### must be an ancestrally related to @###" 错误

背景故事:得到了一份入门级 Web 开发人员的工作。当我开始时,首席开发人员就离开了。一切责任在我。没用过SVN。盲入。

问题
我不断收到类似的错误

我开始新项目的过程是:

  1. 在我的计算机上为项目创建一个目录,其中包含子文件夹:
    project_name/branches
    project_name/branches/dev
    project_name/tags
    project_name/trunk

  2. 右键单击项目根目录,选择我的项目根目录,并将Add其添加到存储库

    (以下是我必须为当前项目做的事情,这在他们中没有问题,但在合并时会中断新项目)

  3. Commit“开发”分支

  4. Merge“dev”到“trunk”(合并所有修订版)* BREAKS HERE *
  5. Commit“树干”
  6. svn up, ETC

不熟悉 SVN,我对此感到非常艰难。正如我所说,在现有项目上做 3-6 是可行的,但在新项目上,我must be ancestrally related to在合并时遇到错误。那么,我做错了什么?非常感谢 所有和任何帮助。

0 投票
2 回答
3025 浏览

svn - 具有本地合并信息时,SVN 1.8 合并(分支重用)似乎已损坏

我们在使用新的 1.8 subversion 客户端时遇到了问题(我们使用 TortoiseSVN 1.8.5 和 SlikSVN 1.8.5)。在某些情况下,重新集成后能够继续使用功能分支的新 SVN 1.8 功能似乎不起作用。

当主干包含本地合并信息(文件或子树上的合并信息)时,它不起作用。这可能会导致重新集成后分支重用的问题。如果使用“keep alive dance”(使用仅记录选项)完成分支重用,这对 1.7 客户端来说不是问题。

我制作了一个脚本,从头开始说明这个问题。它可以使用 1.8 客户端针对空存储库运行。

下面的脚本有 10 个步骤。步骤 1-5 用于创建在主干中具有本地合并信息的启动情况。步骤 6-9 模拟在功能分支的生命周期中对主干进行的更改2。第 10 步是失败的步骤,它模拟了重新集成后功能分支重用的第一步。

这是第 10 步中的错误:

这是(Windows)脚本。

我不明白为什么会这样。此外,错误报告缺少 file1.txt 的范围,而似乎是缺少合并信息的 file2.txt。虽然不是解决方案,但删除主干中 file2.txt 上的本地合并信息似乎也可以解决问题。这也暗示错误消息报告了错误文件的内容。

编辑:对@gbjbaanb 的响应即使错误消息相同,此问题也比您所指的问题更微妙。在我的情况下,失败的不是重新集成到主干,而是分支之后的重用。

另外,如果我查看 file1.txt 和 file2.txt 的合并信息,似乎 file2.txt 缺少 featurebranch2 的合并信息记录,因此问题出在 file2.txt 而不是 file1.txt 的错误提示。因为 file1.txt 在 featurebranch2 的生命周期中在主干中发生了更改,并且 file2.txt 不是关于主干的合并信息,所以在步骤 8 的合并过程中没有在 file2.txt 上设置。我相信这是它开始的地方出轨。这不会影响重新集成到主干,但会阻止功能分支之后的重用。

编辑:回复@David W 我已经尝试过--record-only -c 11这也适用于 Windows 端。我已经在没有-c的情况下尝试过(通常你不应该,我知道,但在这种情况下没有其他更改)然后它报告:

为了更好地衡量,我还尝试了 --record-only -c 1-11,我期望这与不使用-c相同(因为 11 是 HEAD)。我最初的期望是它会以与不使用相同的方式失败-c,但事实并非如此。它的成功方式与-c 11相同。

但我这篇文章的重点是,使用 SVN 1.8,我们不需要做保持活动的诡计。(草案)文档说:

如果您在将分支重新集成到主干后选择不删除分支,您可以继续从主干执行同步合并,然后再次重新集成分支[37]。如果这样做,则只有在第一次重新集成后对分支所做的更改才会合并到主干。( http://svnbook.red-bean.com )。

从 Subversion 1.8 发行说明:

使用自动重新集成合并可以以任何顺序在两个分支之间来回合并(不再需要“keep-alive dance”)。为获得最佳结果,建议始终合并所有符合条件的修订,即不使用 svn merge 的 -r 或 -c 选项。仅合并符合条件的修订的子集会增加未来合并期间出现问题的可能性。(https://subversion.apache.org/docs/release-notes/1.8.html

所以我的观点是,这个分支重用没有保持活动的诡计显然在本地合并信息面前不起作用,我的脚本似乎表明了这一点。

如果您仍然认为有关缺失范围的警告可能是正确的,除了可能报告的范围编号,请告诉我我的脚本中导致缺失范围的位置。我的脚本是主干和分支之间的简单来回切换,没有对它们进行并行处理。

您还可以解释为什么还要通过在步骤 7 中添加: “echo Additional file contents created in trunk. >> trunk\file2.txt” 来解释为什么要修改 file2.txt,这将导致在步骤 10 中没有错误。修改附加文件在主干上无法解决缺失范围问题。

0 投票
2 回答
238 浏览

svn - 从分支到主干的 SVN 合并未按预期工作

为了进行一些重构,我将主干复制到了一个新分支中。重构包括重命名Java Sourcesrc删除Web Content文件夹。但是在分支中进行了所需的更改并svn merge从主干执行之后,重构更改没有反映出来。尽管合并确实从分支中提取了代码更改。我在这里做错了吗?

主干结构:

主干结构

分支结构:

分支结构

合并的主干结构:(未反映任何更改)

合并的主干结构:(未反映任何更改)

0 投票
0 回答
128 浏览

svn - TortoiseSVN 通过扩展更改自动合并

我正在研究创建一个工具来根据其扩展名在 SVN 中区分和合并文件。有问题的文件是基于 YAML 的,但我不相信 TortoiseSVN 可以正确合并它们,因为它不知道文件的结构。
TortoiseSVN 在设置中具有自定义差异查看器和合并工具,可以通过扩展配置,但这些不适用于更新期间发生的自动合并。我知道您可以编辑配置文件以指定用于这些的差异和合并工具,但随后它们将应用于每个文件,无论扩展名如何。这也不起作用,因为大多数将更改的文件不会是基于 YAML 的文件,而是 C# 源文件。

有没有办法强制 TSVN 为特定扩展使用特定程序,并且这也适用于自动合并?

或者,如果文件不是 YAML 文件,是否可以从我自己的工具中调用 TSVN 使用的相同内部工具?

谢谢