问题标签 [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 回答
66 浏览

svn - 审计一个`svn merge`?

刚刚发生了一些奇怪的事情。在. trunk_ tags/version_ svn merge -r 1234:HEAD我无法弄清楚如何/为什么。我能够更新标签/版本的唯一方法是物理复制文件。

话虽这么说,有没有一种“审计”主干与标签/版本的好方法。我唯一能想到的是svn export两个目录,然后区分两者。我想知道是否有更优雅/简单的解决方案。

0 投票
2 回答
419 浏览

svn - 是否可以用“更好”的算法替换 TortoiseSVN 的合并算法?

使用SVN中的合并功能(通过TortoiseSVN)几个月以来,我感觉 SVN 经常报告发生冲突。

因此,我正在寻找一种方法来使(乌龟)SVN 更频繁地自动解决冲突,而无需我的用户交互。

我知道类似的问题以及您可以将差异查看器和合并工具替换为外部工具的事实:

在此处输入图像描述

根据我的理解,这些工具链接太晚了;当内部算法已经检测到不可解决的冲突时,它们会被 SVN/TortoiseSVN 调用。

所以我的问题是:

  • 我对行为的假设(内部合并算法、外部合并工具)是否正确?
  • 有没有办法通过(例如付费)工具改进内部合并算法?

(我正在使用VisualSVN Server和 V1.7 存储库,以防万一)

0 投票
1 回答
711 浏览

svn - 合并svn externals会导致很多问题

我从主干创建了一个分支并在该分支上工作。然后我将更改从主干合并到分支,然后从分支合并回主干。所有这些都像往常一样工作。问题是该解决方案包含一个外部并且在主干上对其进行了一些更改(例如添加了一个新文件)。现在,一些非常奇怪的事情正在发生。当我更新外部文件时,添加的新文件会被添加,但是当我更新父项目(父项目是指包含外部文件并读取文件的项目)时,该文件将被删除。有任何想法吗?

0 投票
1 回答
89 浏览

svn - SVN树冲突问题

我收到如下所述的树冲突消息 -

我做了什么:

  1. 从主干创建了一个功能分支。
  2. 后备箱做了一些改变;从主干中删除了一些垃圾文件。
  3. 将主干合并到功能分支。到目前为止,一切都运行良好。
  4. 在功能分支中做了一些更改;现在功能分支已准备好发布到 PROD。
  5. 尝试将功能分支合并到主干并出现此冲突错误。

不知道为什么我会收到这个错误以及如何避免它。

谢谢。

0 投票
1 回答
131 浏览

svn - SVN:如何确保我将主干正确同步到分支

我正在使用 SVN 并为我添加到我们网站的每个“meety”功能创建分支。

定期,我使用这个命令(从我的分支的工作目录)将主干同步到我的分支:

我想知道,在该操作之后,我是否可以立即运行任何命令来确保合并操作成功。

我听说我可以使用该命令svn propget svn:mergeinfo,但我不明白如何。

谢谢你的帮助!

0 投票
2 回答
10038 浏览

svn - 撤消 SVN 中不需要的合并

我们有一个运行 SVN 的存储库。在某些时候,为了添加一个功能(我们称之为“分支”),我们从主干创建了一个开发分支(我们称之为“主干”)。

我们一直在做我们的工作并致力于分支,偶尔,我们将主干中所做的更改合并到分支中,以使其分支与主干保持同步。

在某个时候,来自主干的修订 75051 到 77691 被合并到分支中,并且提交继续在分支上进行,在分支中提交新代码。

但是现在我们希望分支是最新的,主干只更新到修订版 77089,也就是说,我们要撤消由于我们所做的合并而导致的分支中的更改,但仅由于 rev77089-77691 而导致的更改,而不影响所有工作都在分支中完成。由于主干中的 rev77089-77691,有什么建议可以恢复或撤消分支中的更改?非常感谢你。

0 投票
1 回答
19 浏览

svn-merge - 如何从主干合并到分支忽略所有私有更改

中继svn网址:http://svn.myserver.com/trunk/project1

从上面的分支创建的私有分支:http://svn.myserver.com/trunk/project1_myprivate

现在在从主干合并到私有和私有到主干之后,最后我想从主干合并到 myprivate 分支,但是这次想要接受主干的所有更改并忽略 myprivate,我需要什么命令来实现这个?

0 投票
1 回答
1429 浏览

svn - 在顶级文件夹级别合并时如何使用子文件夹的合并信息?

我们知道,svn:mergeinfo如果在文件夹级别执行合并,TortoiseSVN 会创建一个文件夹属性。这可能是顶级文件夹(例如trunk)或某个子文件夹。我一直认为在子文件夹级别合并是可以的,因为svn:mergeinfo在顶级文件夹级别合并时会使用子文件夹上的。我认为过去它通常也对我有用,直到今天我看到一个我无法解释的案例。

我看到了从分支主干的子文件夹级别的合并,并且我可以在该修订版中看到主干svn:mergeinfo上该子文件夹的属性。

但是,如果我尝试在顶级文件夹级别再次从分支合并到主干,则分支处的合并修订不会灰显。如果我尝试合并,它只会合并顶部文件夹中的属性,而无需进行任何代码更改。如果我尝试从该子文件夹合并一个文件夹,则该合并的修订版也不会灰显。

我无法解释我在这里看到了什么。任何人都可以对此有所了解吗?我正在使用最新的 TortoiseSVN 1.8.1。过去我使用的是 TortoiseSVN 1.7 及以下版本。最新版本的 TortoiseSVN 是否故意改变了这种行为,或者我在这里遗漏了什么?

0 投票
1 回答
122 浏览

svn - svn:mergeinfo 在分支之间没有被正确挑选

我从^trunk创建了一个^sandbox/feature-branch作为暂存区域来进行概念验证。

但我不想将功能分支重新集成到^trunk中,因为它的名称中有沙箱。

我想创建一个^branches/feature-branch并从^sandbox/feature-branch中一一挑选更改。

然后重新整合将更好的名为^branches/feature-branch的名称合并到^trunk中。

在测试中,我可以轻松获取更改集,但svn:mergeinfo不是我所期望的。它不包括使用^sandbox/feature-branch提交添加的 svn:mergeinfo 条目。

创作场景

工作副本:^sandbox/feature-branch

从^branches/another-feature-branch 中挑选代码

这会提交更改并添加svn:mergeinfo条目,如下所示:/branches/another-feature-branch:1234

樱桃采摘场景

工作副本:^branches/feature-branch

从^sandbox/feature-branch中挑选代码

这需要更改,但svn:mergeinfo更改不是我所期望的:/sandbox/feature-branch:2345

但是没有提到更改最初来自^branches/another-feature-branch:1234

在 subversion 中挑选提交时,有没有办法让原始合并路径包含在内?

0 投票
0 回答
310 浏览

svn - 有趣的“邪恶双胞胎”svn merge

今天我在尝试做一个看似简单的合并时遇到了一个非常有趣的问题。

假设我们有两个分支,B1 和 B2,其中 B2 在某个时间 T1 从 B1 分支。

在这些分支中的每一个上,(独立地)创建了一个新的“F”文件夹,这样一段时间后,每个分支都在自己的“F”版本中包含不同的文件(幸运的是)。

但是,当您尝试将 B1 合并到 B2 中(反之亦然)时,您会遇到树冲突,因为即使两个分支都有一个“F”文件夹,它也是完全不同的(svn-speaking)彼此。

这可能是“邪恶双胞胎”的情况 - 但是,在这种情况下,分支 B1 和 B2 在共同的“F”下具有完全不同的文件和文件夹。例如,B1 可以有“F\a.txt”和“F\b.txt”,而 B2 可以有“F\c.txt”。

我现在要做的是将B1合并到B2中,以便在合并后B2包含“F\a.txt”、“F\b.txt”和“F\c.txt”。在此之后,我还希望能够将 B2 合并回 B1,但不会发生冲突(因此 B1 还将包含“F\a.txt”、“F\b.txt”和“F\c.txt”)。

(这实际上是我简化的现实问题。B1 分支是主干,B2 是我需要准备的功能分支,以便集成商不必处理冲突)

唯一的解决方案 - 有点难看,就像 svn 反对一样 - 我发现是 svn 删除 B2/F,然后合并 B1/F,然后重新添加 B2/F。

谢谢!

PS。我们目前正在使用 Tortoise SVN 1.6.16(以防万一)