path: root/Documentation/git-cvsserver.txt
diff options
Diffstat (limited to 'Documentation/git-cvsserver.txt')
1 files changed, 89 insertions, 0 deletions
diff --git a/Documentation/git-cvsserver.txt b/Documentation/git-cvsserver.txt
new file mode 100644
index 0000000..88f07ff
--- /dev/null
+++ b/Documentation/git-cvsserver.txt
@@ -0,0 +1,89 @@
+git-cvsserver - A CVS server emulator for git
+export CVS_SERVER=git-cvsserver
+'cvs' -d :ext:user@server/path/repo.git co <HEAD_name>
+This application is a CVS emulation layer for git.
+It is highly functional. However, not all methods are implemented,
+and for those methods that are implemented,
+not all switches are implemented.
+Testing has been done using both the CLI CVS client, and the Eclipse CVS
+plugin. Most functionality works fine with both of these clients.
+Currently gitcvs only works over ssh connections.
+1. Put somewhere useful on the same machine that is hosting your git repos
+2. For each repo that you want accessible from CVS you need to edit config in
+ the repo and add the following section.
+ [gitcvs]
+ enabled=1
+ logfile=/path/to/logfile
+ n.b. you need to ensure each user that is going to invoke has
+ write access to the log file.
+5. On each client machine you need to set the following variables.
+ CVSROOT should be set as per normal, but the directory should point at the
+ appropriate git repo.
+ CVS_SERVER should be set to the script that has been put on the
+ remote machine.
+6. Clients should now be able to check out modules (where modules are the names
+ of branches in git).
+ $ cvs co -d mylocaldir master
+Operations supported
+All the operations required for normal use are supported, including
+checkout, diff, status, update, log, add, remove, commit.
+Legacy monitoring operations are not supported (edit, watch and related).
+Exports and tagging (tags and branches) are not supported at this stage.
+The server will set the -k mode to binary when relevant. In proper GIT
+tradition, the contents of the files are always respected.
+No keyword expansion or newline munging is supported.
+git-cvsserver depends on DBD::SQLite.
+Copyright and Authors
+This program is copyright The Open University UK - 2006.
+Authors: Martyn Smith <>
+ Martin Langhoff <>
+ with ideas and patches from participants of the git-list <>.
+Documentation by Martyn Smith <> and Martin Langhoff <>Matthias Urlichs <>.
+Part of the gitlink:git[7] suite