Next: , Previous: Maximum Line Length, Up: Interoperability


6.5 Limitations of diff

The diff utility may have limits on the lengths of lines that it can process, though the GNU diff program has no such limits. This means that if you are using cssc in combination with a diff which has a line length limit, that limit will apply to the operation of the cssc delta and sccsdiff programs (though not to any other component of cssc).

This kind of problem may cause delta to fail because the file you are checking in contains an over-length line. However, because sccs files may be operated on by sccs implementations that have different upper limits, you might also find that the delta you checked out from the history file already contained a line which is longer than can be coped with by your delta utility. GNU cssc can always be switched back a mode in which there is no line length limit (i.e. the mode which is usually the default) and so can be used to work around such situations.

Bear in mind that implementations of diff and sccs on a given system can have different limits on the sizes of lines that can be handled by delta, get and diff. This is not the case with the GNU system however, which has no such limits.

The diff utility will also fail if the last line in one of the files being compared does not end in a newline. To work around this you can either encode the file as a binary file (see admin) or add a terminating newline (which is usually the best course of action).

The diff program to be used by the cssc tools is selected when the configure script is run, before cssc is compiled. Configuration explains how you can determine which diff command is used by cssc.