Merge tools that ignores $Id lines

2019-06-22 13:32发布

问题:

I need to merge a forked project. Unfortunately, the CVS $Id lines are different so the merge tools I tried report that all the files are different (and 95% of them have only this line different)

Is there a merge tool that can be configured to ignore line comparison results based on a pattern ?

[edit] I discovered that WinMerge has line filters - setting up them correctly actually works.

Francesco

回答1:

I use meld, which can use regex filters to ignore. It has some preset ones you can select including CVS keywords. The regex it uses for that BTW is:

\$\w+(:[^\n$]+)?\$

You can get meld on any linux distro or download from here: http://meld.sourceforge.net/ I'm not sure how it's supported on windos, but I do know kdiff3 supports windows so you could give it a try there: http://kdiff3.sourceforge.net/



回答2:

well you could use cvs update -kk whick does not expand the $words.

of course this is still a problems the $log which is expanded on commits and not updates.



回答3:

CompareIT allow to use regular expression matching. I used it for automatically generated code comparison and it was very useful.



标签: merge cvs