[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
The nodes in this menu contains explanations about all the commands that you can use in pcl-cvs. They are grouped together by type.
5.1 Setting flags for CVS commands | ||
5.2 Entering pcl-cvs | Commands to invoke pcl-cvs | |
5.3 Updating the `*cvs*' buffer | Commands to update the local directory | |
5.4 Movement Commands | How to move up and down in the buffer | |
5.5 Marking files | How to mark files that other commands will later operate on. | |
5.6 Committing changes | Checking in your modifications to the CVS repository. | |
5.7 Editing files | Loading files into Emacs. | |
5.8 Getting info about files | Display the log and status of files. | |
5.9 Adding and removing files | ||
5.10 Undoing changes | ||
5.11 Removing handled entries | Uninteresting lines can easily be removed. | |
5.12 Ignoring files | Telling CVS to ignore generated files. | |
5.13 Viewing differences | Commands to `diff' different versions. | |
5.14 Running ediff | Running `ediff' from `*cvs*' buffer. | |
5.15 Updating files | Updating files that Need-update. | |
5.16 Tagging files | ||
5.17 Miscellaneous commands |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
This section describes the convention used by nearly all pcl-cvs commands for setting optional flags sent to CVS. A single C-u prefix argument is used to cause the command to prompt for flags to be used for the current invocation of the command only. Two C-u prefix arguments are used to prompt for flags which will be set permanently, for the current invocation and all that follow, until the flags are changed, or unless temporary flags are set which override them.
Perhaps an example or two is in order. Say you are about to add a binary file to the repository, and want to specify the flags `-kb' to `cvs add'. You can type C-u a -kb RET, enter the description, and the file will be added. Subsequent adds will use the previously prevailing flags, found in `cvs-add-flags'.
As a second example, say you are about to perform a diff and want to see
the result in unified diff format, i.e. you'd like to pass the flag
`-u' to both `cvs diff' and `diff'. You'd also like all
subsequent diffs to use this flag. You can type C-u C-u = -u RET
and the diff will be performed, and `cvs-diff-flags' will be set to
("-u")
. You can of course override this flag for a single diff
by using a single C-u prefix argument.
Additionally to this, some commands can take special prefix arguments. These work as follows: when called with a C-u prefix, the user is prompted for a new value of the special prefix and the special prefix is activated for the next command. When called without the C-u prefix, the special prefix is re-activated (with the same value as last time) for the next command. The special prefixes are:
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Most commands in pcl-cvs require that you have a `*cvs*' buffer. The commands that you use to get one are listed below. For each, a `cvs' process will be run, the output will be parsed by pcl-cvs, and the result will be printed in the `*cvs*' buffer (see see section 4. Buffer contents for a description of the contents).
CVS uses lock files in the repository to ensure the integrity of the data files in the repository. They might be left behind i.e. if a workstation crashes in the middle of a CVS operation. CVS outputs a message when it is waiting for a lock file to go away. Pcl-cvs will show the same message in the *cvs* buffer, together with instructions for deleting the lock files. You should normally not have to delete them manually -- just wait a little while and the problem should fix itself. But if the lock files do not disappear you can delete them with M-x cvs-mode-delete-lock RET.
By default, the commands above will descend recursively into subdirectories. You can avoid that behavior by including `-l' in the flags for the command. These flags can be set by giving a prefix argument to the command (e.g., by typing C-u M-x cvs-update RET -l RET).
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
The following commands can be used from within the `*cvs*' buffer to update the display:
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
You can use most normal Emacs commands to move forward and backward in the buffer. Some keys are rebound to functions that take advantage of the fact that the buffer is a pcl-cvs buffer:
cookie-next-cookie
).
cookie-previous-cookie
).
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Pcl-cvs works on a set of selected files (see section 4.2 Selected files). You can mark and unmark files with these commands:
cvs-mode-mark
).
cvs-mode-unmark
).
cvs-mode-mark-all-files
).
cvs-mode-unmark-all-files
).
cvs-mode-unmark-up
).
cvs-mode-mark-matching-files
).
cvs-mode-toggle-marks
).
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
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' is set to `nil'.
cvs-mode-changelog-commit
to be
run.To select default log text, pcl-cvs:
You can then commit the `ChangeLog' file once per day without any log message.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
There are currently three commands that can be used to find a file (that is, load it into a buffer and start editing it there). These commands work on the line that the cursor is situated at. They always ignore any marked files.
cvs-mode-find-file
).
cvs-mode-find-file-other-window
).
cvs-mode-add-change-log-entry-other-window
).
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Both of the following commands can be customized. See section 6. Customization.
cvs-mode-log
).
cvs-mode-status
).
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
The following commands are available to make it easy to add and remove files from the CVS repository.
This command can also be used on `Removed' files (before you commit them) to resurrect them.
Selected files that are neither `Unknown' nor `Removed' will be ignored by this command.
The command that is run is cvs-mode-add
.
The command that is run is cvs-mode-remove-file
.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
cvs-mode-undo-local-changes
.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
The command is called cvs-mode-remove-handled
. If
`cvs-auto-remove-handled' is set to non-nil
this will
automatically be performed after every commit.
cvs-mode-acknowledge
).
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
The `.cvsignore' file should normally be added to the repository, but you could ignore it also if you like it better that way.
This runs cvs-mode-ignore
.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
cvs-mode-diff
).
With the b command you can run a `diff' on the files
`.#FILE.VERSION' and `FILE'. This command
only works on files that have status `Conflict' or `Merged'.
(cvs-mode-diff-backup
).
cvs-mode-diff-head
).
cvs-mode-diff-vendor
).
For all of the diffing commands, if `cvs-diff-ignore-marks' is
set to a non-nil
value or if the command T
(`cvs-mode-toggle-marks') is given immediately preceding the
command, any marked files will not be considered to be selected.
Also, you can get a context- or unified diff by setting `cvs-diff-flags'. See section 6. Customization, and also 5.1 Setting flags for CVS commands.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Note: When the file status is `Merged' or `Conflict', CVS has already performed a merge. The resulting file is not used in any way if you use this command. If you use the q command inside `ediff' (to successfully terminate a merge) the file that CVS created will be overwritten.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
M-x cvs-status
has been run. (cvs-mode-update
).
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
cvs-mode-tag
). It's usually preferable to tag directories
at a time. Rather than selecting all files (which too often doesn't
select all files but only the few that are displayed), clear the
selection with M-DEL (cvs-mode-unmark-all-files
), position
the cursor on the directory you want to tag and hit t.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
You can only use this command when a message in the *cvs* buffer tells you so. You should wait a while before using this command in case someone else is running a cvs command.
cvs-help
).
cvs-mode-quit
).
[ << ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
This document was generated by XEmacs shared group account on December, 19 2009
using texi2html 1.65.