I do have some text sequences that are replaced by the SCM (Perforce in my case).
I do want to configure BeyondCompare to consider these sequences as unimportant differences in order to be able to ignore them when I compare files.
In my case it's about Python source files and the sequences are looking like
# $Id: //depot/.../filename#7 $
# $DateTime: 2010/09/01 10:45:29 $
# $Author: username $
# $Change: 1234 $
Sometimes these sequences can be outside comments, but even in this cases I would like to be able ignore these lines because they are not really changed.
To ignore text differences, define a new Grammar element (what the text is), then mark it as unimportant.
If you are doing "Text compare", then you should make sure that "Character case" is not selected in the "Imporantance" tab, then choose "Ignore Unimportant Differences" -- that will do a case-insensitive compare. Save this answer.
Select the format that matches your files. Go to the Grammar tab. Select the Comment grammar element, which might be defined as # to end of line.
You need to define a new grammar element (let's call it "SCM") and mark it as unimportant (see the tutorial here; choose "Basic" and make sure to check "Regular Expression").
The grammar element should be (if I interpret your examples correctly):
^.*\$(Id|DateTime|Author|Change):.*$
This will ignore any line that contains $Id:
, $DateTime:
etc.
If you only want to ignore lines that start with # $...
, use
^\s*#s*\$(Id|DateTime|Author|Change):.*$
And if you only want to ignore stuff between $
(and treat everything else as important), use
\$[^$\r\n]*\$
or
\$(Id|DateTime|Author|Change)[^$\r\n]*\$
depending on whether you care about those keywords or not.
Beyond Compare's parser doesn't currently (v3/v4) support nested elements, so file formats grammars can't be used to mark an SCM sequence as unimportant for a specific file type if the text is already classified as a comment, string, etc.
Beyond Compare 4.0 added support for marking arbitrary text as unimportant across an entire comparison, separate from the grammar.
+
button at the bottom of the Unimportant text list.\$(Id|DateTime|Author|Change):.*\$
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With