Merge 有没有一种方法可以让CVS在关键字替换(如$Id)时不产生合并冲突:$

Merge 有没有一种方法可以让CVS在关键字替换(如$Id)时不产生合并冲突:$,merge,cvs,conflict,keyword,Merge,Cvs,Conflict,Keyword,我们目前使用CVS,并在合并到主干之前在分支上开发新功能。偶尔会出现由CVS关键字替换引起的合并冲突。因此,当查看冲突文件时,我们会看到如下内容 <<<<<<< collect_logs.conf # CVS $Id: collect_logs.conf,v 1.6 2010/02/03 16:43:11 peterw Exp $ ======= # CVS $Id: collect_logs.conf,v 1.13 2010-05-07 17:14:4

我们目前使用CVS,并在合并到主干之前在分支上开发新功能。偶尔会出现由CVS关键字替换引起的合并冲突。因此,当查看冲突文件时,我们会看到如下内容

<<<<<<< collect_logs.conf
# CVS $Id: collect_logs.conf,v 1.6 2010/02/03 16:43:11 peterw Exp $
=======
# CVS $Id: collect_logs.conf,v 1.13 2010-05-07 17:14:43 peterw Exp $
>>>>>>> 1.13
>1.13
这将是文件中唯一的冲突

我做了一点调查,你可能注意到条目中日期的格式略有不同。这是由于在不同的平台上使用不同的cvs版本(一个在Solaris上,另一个在Linux上),我认为这就是引发冲突的原因

解决方法是简单地对项目进行一次新的签出,然后从那里进行cvs更新。因为所有的关键字都是以相同的格式生成的,所以很乐意合并

我的问题是你能命令cvs更好地处理关键字替换的合并吗。还是像我一样通过新的结账来避免它更好

谢谢


Peter

您可以根据(第5.10节)上的CVS文档使用
更新-kk…

附加到
-k
(关键字替换模式)的
k
使CVS只输出关键字,而不是关键字的值。因此,从理论上讲,您的多种日期格式不应该是一个问题。不过我还没有测试过这个理论