8 Customization

If you have an idea about any customization that would be handy but isn’t present in this list, please tell us! For info on how to reach us, see Bugs (known and unknown).

cvs-auto-remove-handled

If this variable is set to any non-nil value, ‘cvs-mode-remove-handled’ will be called every time you check in files, after the check-in is ready. See Removing handled entries.

cvs-auto-remove-directories

If this variable is set to any non-nil value, directories that do not contain any files to be checked in will not be listed in the *cvs* buffer.

cvs-auto-revert

If this variable is set to any non-‘nil’ value any buffers you have that visit a file that is committed will be automatically reverted. This variable defaults to ‘t’. See Committing changes.

cvs-update-prog-output-skip-regexp

The ‘-u’ flag in the modules file can be used to run a command whenever a ‘cvs update’ is performed (see cvs(5)). This regexp is used to search for the last line in that output. It is normally set to ‘$’. That setting is only correct if the command outputs nothing. Note that PCL-CVS will get very confused if the command outputs anything to stderr.

cvs-cvsroot

This variable can be set to override ‘CVSROOT’. It should be a string. If it is set, then every time a cvs command is run, it will be called as ‘cvs -d cvs-cvsroot’. This can be useful if your site has several repositories.

log-edit-require-final-newline

When you enter a log message by typing into the *cvs-commit-message* buffer, PCL-CVS normally automatically inserts a trailing newline, unless there already is one. This behavior can be controlled via ‘cvs-commit-buffer-require-final-newline’. If it is ‘t’ (the default behavior), a newline will always be appended. If it is ‘nil’, newlines will never be appended. Any other value causes PCL-CVS to ask the user whenever there is no trailing newline in the commit message buffer.

log-edit-changelog-full-paragraphs

If this variable is non-nil, include full ChangeLog paragraphs in the CVS log created by ‘cvs-mode-changelog-commit’. This may be set in the local variables section of a ChangeLog file, to indicate the policy for that ChangeLog.

A ChangeLog paragraph is a bunch of log text containing no blank lines; a paragraph usually describes a set of changes with a single purpose, but perhaps spanning several functions in several files. Changes in different paragraphs are unrelated.

You could argue that the CVS log entry for a file should contain the full ChangeLog paragraph mentioning the change to the file, even though it may mention other files, because that gives you the full context you need to understand the change. This is the behavior you get when this variable is set to t, the default.

On the other hand, you could argue that the CVS log entry for a change should contain only the text for the changes which occurred in that file, because the CVS log is per-file. This is the behavior you get when this variable is set to nil.

cvs-sort-ignore-file

If this variable is set to any non-‘nil’ value, the .cvsignore file will always be sorted whenever you use ‘cvs-mode-ignore’ to add a file to it. This option is on by default.