合并若干修订 - 管理问题

时间:2013-06-13 18:21:05

标签: svn tortoisesvn

以下是该方案:

1)我有一个分支A. 2)我有一个trunkA

这两者都是无关的,意味着它们有不同的路径导致它们。 BranchA是一个时间点的trunkA副本。

因此,当我在使用trunkA作为核心开发中继时,我被要求将某些更改合并到branchA,以便它对我们的一些代码文件进行代码更改。

好的,我在Tortoise对话框中通过修订范围选择合并。但接下来就是这样的事情。要么我在我检查的更改集(我的回购集)上不聪明,要么我不知道是否可以选择在一系列修订中排除某些文件。

因为问题出现了,有时我会在我编写某个故事的时候编写的那些我已经进行过编程的类清理。所以我把东西清理干净就像删除未使用过的东西一样使用每个开发人员应该做的事情等等(boyscout规则)。

问题在于,当我这样做时,我认为它可能会稀释。意思是我真的应该在自己的提交中分离出清理更改。

因为问题是,如果我正在合并一系列修订并且我已经完成了“其他清理”,我可能不希望在我合并一些核心文件更改时包含一些清理分支A。也许我只是想移动某个故事,但问题是嘿,我还包括了一些repo#s我改变了一些其他文件来清理它们。

我想我的问题是,或者更多的验证是我可能需要在我的提交中更清洁。把事情分开。如果它是一堆清理改变你正在处理的类的“周围”,那么在他们自己的提交实例(自己的repo#)中等待并提交它们。那样每当我进行范围合并时,我就会得到我想要的。我不认为svn有办法在范围合并期间在某些仓库中清除这些文件。

想法?

1 个答案:

答案 0 :(得分:0)

如果我正确理解您的问题,您想要将TrunkA的一系列修订合并到BranchA。但是,您的BranchA本地工作副本有未提交的更改(与您正在处理的清理故事相关),并且您希望在合并后提交这些更改而不是提交权限吗?

如果这是问题,你可以有这样的解决方案。

  • 签出BranchA的新工作副本(称之为WC2)并在此处执行修订范围的合并。
  • 然后提交它。之后返回到您正在执行清理故事的工作副本(称之为WC1)。
  • 在WC1中进行SVN更新。它会在这里更新您从WC2提交的合并更改。
  • 得到真正的解决方案。我们需要查看三个主要方案,以了解此更新中每个文件可能发生的情况。

我们遵循以下情景:

  1. WC1&中的文件未更改在TrunkA中更新文件 - 这也不会导致任何问题,因为本地文件没有更改,只会从服务器获取最新更新。
  2. 在WC1中更改了文件(未提交)&文件未在TrunkA中更新 - 这不会出现任何问题,因为这些文件的更新中没有任何内容发生,并且您的清理更改完好无损。
  3. 在WC1中更改了文件(未提交)&在TrunkA中更新文件 - 这是在更新过程中进入SVN冲突的一个。然后你可以逐个进入并修复冲突。那就是在这里消耗时间的人。
  4. 在此之后,只需在WC1中完成清理故事并稍后再提交。

    将提交历史记录中的任务分开。