What kinds of diffs can I get?

Two diff formats are available: unified and comparison. Each format has its own advantages, depending on how you are interested in seeing the difference in the data between each profile.

Unified diff format

Unified diff format will be familiar to anyone who has done software development on a UNIX platform, especially anyone who has worked with Subversion, because Subversion uses unified diff as its default diff format. For example, consider this profile comparison output in diff format:

 --- cudev_rh90 (version 9, revision 108) +++ cudev_rh90 (version 8, revision 98) @@
    -139,7 +139,6 @@ <accounts> <setrootpw/> <addgroup
    gid="1050">ops<s/addgroup> - <addgroup
    gid="1060">localadm<s/addgroup> <addgroup
    gid="1150">qa<s/addgroup> <addgroup
    gid="1250">is<s/addgroup> <addgroup
    gid="9000">dev<s/addgroup> 
Note: A unified diff cannot be created when one input source is missing; for example, if one version of a profile has no package list yet associated with it.

Comparison diff format

Comparison diff format is a format that attempts to show the entire document, if possible, and show exactly in the document, down to the character level, where differences occur. When one file does not exist, as in the case when one profile version has no installed packages recorded, comparison diff is your only option, since a unified diff cannot be created from a single input source.

The following table will help you understand the output of the comparison diff format. Each line of a comparison diff begins with a two-character code:

Code Meaning
'- ' line unique to sequence 1
'+ ' line unique to sequence 2
' ' line common to both sequences
'? ' line not present in either input sequence

Comparing different versions of the same profile is essentially a "special case" of the general profile comparison feature. The interface and functionality provided are identical.

Related information
Wikipedia article on diffs