Committing changes
==================
`c'
All files that have a "need to be checked in"-marker (*note Buffer
contents::.) can be checked in with the `c' command. It checks in
all selected files (see Selected files.) (except those who
lack the "ci"-marker - they are ignored). Pressing `c' causes
`cvs-mode-commit' to be run.
When you press `c' you will get a buffer called
`*cvs-commit-message*'. Enter the log message for the file(s) in
it. When you are ready you should press `C-c C-c' to actually
commit the files (using `cvs-edit-done').
Normally the `*cvs-commit-message*' buffer will retain the log
message from the previous commit, but if the variable
`cvs-erase-input-buffer' is set to a non-`nil' value the buffer
will be erased. Point and mark will always be located around the
entire buffer so that you can easily erase it with `C-w'
(`kill-region').
If you are editing the files in your emacs an automatic
`revert-buffer' will be performed. (If the file contains `$Id$'
keywords `cvs commit' will write a new file with the new values
substituted. The auto-revert makes sure that you get them into
your buffer). The revert will not occur if you have modified your
buffer, or if `cvs-auto-revert-after-commit' is set to `nil'.
`C'
This is just like `cvs-mode-commit', except that it tries to
provide appropriate default log messages by looking at the
`ChangeLog's handling the files to be checked in. The idea is to
write your ChangeLog entries first, and then use this command to
commit your changes. Pressing `C' causes
`cvs-mode-changelog-commit' to be run.
To select default log text, pcl-cvs:
- finds the ChangeLogs for the files to be checked in;
- verifies that the top entry in the ChangeLog is on the
current date and by the current user; if not, no default text
is provided;
- searchs the ChangeLog entry for paragraphs containing the
names of the files being checked in; and finally
- uses those paragraphs as the default log text in the
`*cvs-commit-message*' buffer.
You can then commit the `ChangeLog' file once per day without any
log message.