Next: Updating the buffer, Previous: Entering PCL-CVS, Up: Commands

### 5.2 Setting flags for CVS commands

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>`, and the file will be added. Subsequent ‘`cvs add`’ commands will use the previously prevailing 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 the default 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.

In addition 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. Calling the prefix command again when it's already activated deactivates it. Calling it with the `C-u C-u` prefix activates it for all subsequent commands until you deactivate it explicitly. The special prefixes are:

`T`
  Toggles whether or not marks will be active in the next command.
`b`
  Provide the next command with a branch (can be any version specifier) to work on.
`B`
  Secondary branch argument. Only meaningful if `b` is also used. It can be used to provide a second branch argument to `cvs-mode-diff` or to `cvs-mode-update`.
`M-f`
  Forces the next command to apply to every selected file rather than only to the ones PCL-CVS thinks are relevant.