Home Explore Blog CI



git

5th chunk of `Documentation/git-cvsserver.adoc`
62f8d175f71cb865c556a34facbe5000d70625651a15d756000000010000087b
 access should choose the 'ext' protocol, and configure 'ext'
access on the Preferences->Team->CVS->ExtConnection pane. Set CVS_SERVER to
"`git cvsserver`". Note that password support is not good when using 'ext',
you will definitely want to have SSH keys setup.

Alternatively, you can just use the non-standard extssh protocol that Eclipse
offer. In that case CVS_SERVER is ignored, and you will have to replace
the cvs utility on the server with 'git-cvsserver' or manipulate your `.bashrc`
so that calling 'cvs' effectively calls 'git-cvsserver'.

CLIENTS KNOWN TO WORK
---------------------

- CVS 1.12.9 on Debian
- CVS 1.11.17 on MacOSX (from Fink package)
- Eclipse 3.0, 3.1.2 on MacOSX (see Eclipse CVS Client Notes)
- TortoiseCVS

OPERATIONS SUPPORTED
--------------------

All the operations required for normal use are supported, including
checkout, diff, status, update, log, add, remove, commit.

Most CVS command arguments that read CVS tags or revision numbers
(typically -r) work, and also support any git refspec
(tag, branch, commit ID, etc).
However, CVS revision numbers for non-default branches are not well
emulated, and cvs log does not show tags or branches at
all.  (Non-main-branch CVS revision numbers superficially resemble CVS
revision numbers, but they actually encode a git commit ID directly,
rather than represent the number of revisions since the branch point.)

Note that there are two ways to checkout a particular branch.
As described elsewhere on this page, the "module" parameter
of cvs checkout is interpreted as a branch name, and it becomes
the main branch.  It remains the main branch for a given sandbox
even if you temporarily make another branch sticky with
cvs update -r.  Alternatively, the -r argument can indicate
some other branch to actually checkout, even though the module
is still the "main" branch.  Tradeoffs (as currently
implemented): Each new "module" creates a new database on disk with
a history for the given module, and after the database is created,
operations against that main branch are fast.  Or alternatively,
-r doesn't take any extra disk space, but may be significantly slower for
many operations,

Title: Git CVS Server Client Configuration and Supported Operations
Summary
The Git CVS server supports various clients, including Eclipse, TortoiseCVS, and command-line CVS, and allows for configuration of the 'ext' protocol and CVS_SERVER variable, with support for common operations like checkout, update, and commit, although with some limitations on revision numbers and branch emulation.