1git-cvsserver(1) 2================ 3 4NAME 5---- 6git-cvsserver - A CVS server emulator for git 7 8 9SYNOPSIS 10-------- 11[verse] 12export CVS_SERVER=git-cvsserver 13'cvs' -d :ext:user@server/path/repo.git co <HEAD_name> 14 15 16DESCRIPTION 17----------- 18 19This application is a CVS emulation layer for git. 20 21It is highly functional. However, not all methods are implemented, 22and for those methods that are implemented, 23not all switches are implemented. 24 25Testing has been done using both the CLI CVS client, and the Eclipse CVS 26plugin. Most functionality works fine with both of these clients. 27 28LIMITATIONS 29----------- 30Currently gitcvs only works over ssh connections. 31 32 33INSTALLATION 34------------ 351. Put server.pl somewhere useful on the same machine that is hosting your git repos 36 372. For each repo that you want accessible from CVS you need to edit config in 38 the repo and add the following section. 39 40 [gitcvs] 41 enabled=1 42 logfile=/path/to/logfile 43 44 n.b. you need to ensure each user that is going to invoke server.pl has 45 write access to the log file. 46 475. On each client machine you need to set the following variables. 48 CVSROOT should be set as per normal, but the directory should point at the 49 appropriate git repo. 50 CVS_SERVER should be set to the server.pl script that has been put on the 51 remote machine. 52 536. Clients should now be able to check out modules (where modules are the names 54 of branches in git). 55 $ cvs co -d mylocaldir master 56 57Operations supported 58-------------------- 59 60All the operations required for normal use are supported, including 61checkout, diff, status, update, log, add, remove, commit. 62Legacy monitoring operations are not supported (edit, watch and related). 63Exports and tagging (tags and branches) are not supported at this stage. 64 65The server will set the -k mode to binary when relevant. In proper GIT 66tradition, the contents of the files are always respected. 67No keyword expansion or newline munging is supported. 68 69Dependencies 70------------ 71 72git-cvsserver depends on DBD::SQLite. 73 74Copyright and Authors 75--------------------- 76 77This program is copyright The Open University UK - 2006. 78 79Authors: Martyn Smith <martyn@catalyst.net.nz> 80 Martin Langhoff <martin@catalyst.net.nz> 81 with ideas and patches from participants of the git-list <git@vger.kernel.org>. 82 83Documentation 84-------------- 85Documentation by Martyn Smith <martyn@catalyst.net.nz> and Martin Langhoff <martin@catalyst.net.nz>Matthias Urlichs <smurf@smurf.noris.de>. 86 87GIT 88--- 89Part of the gitlink:git[7] suite