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.