2008-09-25 67 views
7

背景:在我的工作中,我们使用SVN,C#和VisualStudio。我的一部分任务经常涉及全球重命名。通常,我在重命名某些内容并合并更改后最终得到损坏的内部版本。语义合并工具

问题:是否有解决方案可以查看我的更改,注意全局重命名,然后将其应用于其他人在合并时编辑的编辑?

另一种获得相同效果的方法是某种重构日志,然后将其应用于传入的编辑。

该工具不必是完美的,即使它只是指出在他们的编辑中引用我编辑的某些内容的任何参考都是有价值的。

编辑我知道VS的重构工具。我正在寻找的东西,将允许我在重构我的工作副本后,将相同的重构应用于其他人的编辑,我现在需要合并。

理想的解决方案是确保当我进行重构时,没有任何未完成的编辑,但是这会阻止其他人在下周或更长时间内完成任何工作。 (因为他们将不得不在同一个半小时内同步下一个星期)

+1

目前,一个很好的(商业)选项似乎是Visual Studio的扩展管理器提供的[代码比较](http://www.devart.com/codecompare/)。 – rsenna 2012-04-18 02:09:00

+1

你检查过这个吗? http://plasticscm.com/sm/index。html你应该,这正是你正在寻找的C#工具 – pablo 2013-03-26 06:30:40

+0

所以你真正想要的是一个语义补丁工具。 – mbx 2017-10-05 14:53:40

回答

0

假设至少VS 2005和全局重命名是一个变量/属性/函数,有一个重构 - 重命名右键单击菜单选项可以用。按照设计,它会在整个解决方案中传播名称更改。

0

难道不可能缩短您提交更改所需的时间吗?一个或多个星期之间似乎相当长的承诺...

0

我明白你的问题。不幸的是,我认为在同步时没有足够聪明的SVN脚本来完成这项工作。

也许你的团队与SVN更适合工作可能会使这种情况变得没有用。当您在工作副本中执行svn:update并实现合并操作时,在执行更改之前重建更新的解决方案是一种很好的做法。

拥有一个svn脚本,能够在合并时进行自动化操作,这的确很棒。

1

保持重命名与其他重构分离。它们通常可以自动化,因此使更改变得非常简单。您甚至可以分发脚本以允许其他工程师使用合并地狱对文件进行转换。

有没有简单的方法来自动化重构,所以保持简单。重命名应该只需要几分钟,你应该能够签出并提交最少的测试。