昨天把设计好的数据库PDM通过剪切的方式往SVN目录里数据库PDM覆盖,UPDATE后发现有冲突。不像JAVA代码那样我可以手动修改再提交。我看了下PDM的冲突情况有700多个,逐个修改会要人命。最后我通过nodepad++解决了。实际上EditPlus也是可以的,只要支持正则表达式搜索。
使用Nodepad++打开冲突的PDM,如下:
<a:CreationDate>1457945227</a:CreationDate>
<<<<<<< .mine
<a:ModificationDate>1458635454</a:ModificationDate>
||||||| .r122131
<a:ModificationDate>1457950145</a:ModificationDate>
=======
<a:ModificationDate>1458543219</a:ModificationDate>
>>>>>>> .r122533
<a:IconMode>-1</a:IconMode>
<<<<<<< .mine
<a:Rect>((-5537,-4146), (4015,577))</a:Rect>
||||||| .r122131
<a:Rect>((-11344,10343), (-428,16715))</a:Rect>
=======
<a:Rect>((-10136,10223), (780,16595))</a:Rect>
>>>>>>> .r122533
<a:LineColor>12615680</a:LineColor>
<a:FillColor>16570034</a:FillColor>
<a:ShadowColor>12632256</a:ShadowColor>
通过以上可以看到很多冲突。快捷键:CTRL+H,弹出框中勾选“正则表达式”,然后输入“<<<<<<< .mine\r\n(.*?)=======\r\n.*?>>>>>>> .r\d{4}”,这时候所有冲突被选上。但这里我要把所有的我的(<<<<<<.mine)留下,其它删除。
1、输入“.r122131\r\n(.*?)=======\r\n.*?>>>>>>> .r\d{4}”,替换成空。
2、然后再把“<<<<<<< .mine“和“||||||| .”分别替换为空即可。
3、再SVN提交一下就行了。
最后我想说,
1、如果做覆盖操作前,最好使用复制的方式进行,特别是比较重要的文件,确定OK了再删除,不要像我一样喜欢剪切。以免造成不必要的麻烦。
2、PDM类似这样的建模工具,最好由一、两个人进行SVN管理。
3、PD是个非常强大的建模工具,不分语言。