合并项目/解决方案文件对于在源代码管理中执行合并的开发人员/SCM管理员来说是一个众所周知的灾难。
例如,一个常见的场景:在两个不同的分支中对一个项目/解决方案进行开发。当时间回到一个主要的开发线,有一个非常小的相似之处,VCPROJ(和SLNs)。
原因是,Visual可能更改(并确实更改)这些文件中各种类似XML的元素的位置。例如,配置、调试和发布可以在proj文件上的每个保存操作上交换命令。这使得不可能轻松地合并来自每个开发分支的更改,甚至不考虑自动合并。
我可以假设Microsoft正在使用某种perl哈希系统来保存vcproj结构,因此在保存操作上不需要对文件进行呈现。
首先,我想问一问:是否有人找到了一些优雅的方法来解决这个问题?
第二,我想提出两个建议:
任何其他想法和想法都是受欢迎的。
发布于 2009-04-13 04:00:08
我创建了一个工具来比较和合并解决方案文件(http://slntools.codeplex.com)。与“通用合并”相比,将解决方案与该工具合并要容易得多。它无法处理项目文件的思想。
发布于 2010-08-14 20:46:06
项目:合并是我比较和合并XML文件的工具。我最初写它是因为我在Visual项目文件中遇到了这个问题。
它正确地检测到XML文件中的重排序元素和/或属性,并将自动解决几乎所有的“冲突”。
发布于 2008-12-16 19:24:29
您可能需要考虑将您的工具与SCM中的触发器相关联(就像SVN的重新提交钩子),以便在这些文件中执行重新排序。
然后,您将有机会有效地合并这些元素。
https://stackoverflow.com/questions/372357
复制相似问题