---
name: "mcvs"
section: "1"
platform: "linux"
package: "mcvs"
version: "1.0.13-17"
release: "Debian 4.0 (Etch)"
platforms: ["linux"]
url: "https://new.carta.tech/mcvs"
---

# mcvs(1)

version control system built around CVS

## NAME

Meta-CVS - version control system built around CVS

## DESCRIPTION

Meta-CVS command syntax:

-

  mcvs \[ global-options \] command \[ command-options \] \[ command-arguments \]

Global options:

- **-H** **--help**

  Print this help and terminate. If a command is specified, help specific to that command is printed instead.

- **-Q**

  Very quiet, generate output only for serious problems. (\*)

- **-q**

  Somewhat quiet, some info messages suppressed. (\*)

- **-n**

  Dry run; do not modify filesystem. (\*)

- **--debug**

  Verbose debug output; **-Q** and **-q** are ignored but still passed to CVS.

- **-r**

  Make working files read-only. (@)

- **-w**

  Make new working files read-write (default). (@)

- **-l**

  Do not log cvs command in command history, but execute it anyway. (@)

- **-t**

  Trace CVS execution. (@)

- **-v** **--version**

  Display version information and terminate.

- **-f**

  CVS not to read ~/.cvsrc file. (@)

- **-i** script-name

  Load a Lisp file and evaluate its top level forms, allowing Meta-CVS to behave as an interpreter.

- **--meta**

  Include metafiles such as MCVS/MAP in the set of files to operate on.

- **--metaonly**

  Operate only on metafiles.

- **--nometa**

  Exclude metafiles from the set of files to operate on.

- **--error-continue**

  Instead of interactive error handling, automatically continue all continuable errors.

- **--error-terminate**

  Terminate with cleanup when an error happens instead of interactive error handling.

- **-T** tempdir

  Place temporary files in tempdir. (@)

- **-e** editor

  Edit messages with editor. (\*)

- **-d** root

  Specify CVSROOT. (@)

- **-z** gzip-level

  Specify compression level. (@)

- **--up** N

  Escape out of N levels of sandbox nesting before executing operation.

-

  Notes: (\*) option processed by Meta-CVS and passed to CVS too.

-

  (@) option merely passed to CVS.

Commands:

- help

  Obtain more detailed help for a specific command.

- create

  Create new project from an existing file tree.

- grab

  Take a snapshot of an external source tree, such as a third-party release, and incorporate it into the working copy. Tries to discover file moves.

- checkout (co)

  Retrieve a Meta-CVS project from the repository to create a working copy.

- export (ex)

  Retrieve a Meta-CVS project without creating a working copy.

- add

  Place files (or directories with add **-R**) under version control.

- remove (rm)

  Remove files or directories.

- move (mv)

  Rename files and directories.

- link (ln)

  Create a versioned symbolic link.

- update (up)

  Incorporate latest changes from repository into working copy.

- commit (ci)

  Incorporate outstanding changes in the working copy into the repository.

- diff

  Compute differences between files in the working copy and the repository or between revisions in the repository.

- tag

  Associate a symbolic name with file revisions to create an identifiable baseline.  By default, tags the revisions that were last synchronized with the directory. Note: tag **-b** creates a CVS branch, it won't be a Meta-CVS branch with managed merges. Consider the branch command instead!

- log

  Display log information for files.

- status (stat)

  Show current status of files.

- annotate

  Perform a detailed analysis of files, showing the version information about every individual line of text.

- filt (fi)

  Act as a text filter, which converts Meta-CVS F- file names to readable paths, according to the current mapping.

- remote-filt (rfi)

  Remote version of filt, requires module name.

- branch

  Create a managed branch. Meta-CVS managed branches keep track of what has been merged where, so users don't have to track merges with tags at all.

- merge

  Merge a managed branch to the current branch or trunk.

- remerge

  Re-apply the most recent merge without changing any tags. Useful when a merge goes bad so the local changes have to be discarded and the merge done over again.

-

  list-branches (lb) List Meta-CVS managed branches. switch (sw)        Switch to a branch. With no arguments, switch to

-

  main trunk.

- remap

  Force Meta-CVS to notice and incorporate moves and deletions that were performed directly on the sandbox.

- purge

  Execute a CVS remove on files that have been unmapped with the remove command.

- restore

  Restore files that have been deleted with the remove command, but not purged. These appear in the lost+found directory under cryptic names.

- prop

  Manipulate properties.

-

  prop **--set** \<bool-prop-name\> \[ files ... \] prop **--clear** \<bool-prop-name\> \[ files ... \] prop **--value** \<prop-name\> \<new-value\> \[ files ... \] prop **--remove** \<prop-name\> \[ files ... \]

-

  The \`\`exec'' property represents the execute permission of a file.  More than one **--set**, **--clear**, **--value** or **--remove** may be specified before the files.

- watch

  Manipulate per-file CVS watch settings.

-

  watch **--on** \[ files ... \] watch **--off** \[ files ... \] watch **--add** \<action\> \[ files ... \] watch **--remove** \<action\> \[ files ... \]

- watchers

  See who is watching files.

- edit

  Indicate the intent to edit a watched file.

- unedit

  Retract the indication signaled by edit.

- editors

  See who is editing files.

- sync-to-cvs

  Synchronize tree in the direction of the CVS sandbox. Useful when extending Meta-CVS with external scripts.

- sync-from-cvs

  Synchronize CVS sandbox to the tree.

- convert

  Convert a CVS module to a Meta-CVS project. This requires direct filesystem access to the repository. Caveat: this is a very blunt instrument.
