X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=Documentation%2Fgit-cvsserver.txt;h=f9e0c7737952891633a1f5503f8dc5ad46fbf53f;hb=732bcf942c6e99879349711fd29b5062a704e248;hp=952635d809ba95b6bb747e30b2edb282169e2812;hpb=f63237a18e951b93ac46a0e594f286255e1eaaaf;p=git.git diff --git a/Documentation/git-cvsserver.txt b/Documentation/git-cvsserver.txt index 952635d80..f9e0c7737 100644 --- a/Documentation/git-cvsserver.txt +++ b/Documentation/git-cvsserver.txt @@ -36,49 +36,62 @@ INSTALLATION 1. If you are going to offer anonymous CVS access via pserver, add a line in /etc/inetd.conf like - ++ +-- +------ cvspserver stream tcp nowait nobody git-cvsserver pserver - Note: In some cases, you need to pass the 'pserver' argument twice for - git-cvsserver to see it. So the line would look like +------ +Note: In some cases, you need to pass the 'pserver' argument twice for +git-cvsserver to see it. So the line would look like +------ cvspserver stream tcp nowait nobody git-cvsserver pserver pserver - No special setup is needed for SSH access, other than having GIT tools - in the PATH. If you have clients that do not accept the CVS_SERVER - env variable, you can rename git-cvsserver to cvs. - +------ +No special setup is needed for SSH access, other than having GIT tools +in the PATH. If you have clients that do not accept the CVS_SERVER +env variable, you can rename git-cvsserver to cvs. +-- 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 # optional for debugging logfile=/path/to/logfile - Note: you need to ensure each user that is going to invoke git-cvsserver has - write access to the log file and to the git repository. When offering anon - access via pserver, this means that the nobody user should have write access - to at least the sqlite database at the root of the repository. - +------ +Note: you need to ensure each user that is going to invoke git-cvsserver has +write access to the log file and to the git repository. When offering anon +access via pserver, this means that the nobody user should have write access +to at least the sqlite database at the root of the repository. +-- 3. On the 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. For example: ++ +-- +For SSH access, CVS_SERVER should be set to git-cvsserver - For SSH access, CVS_SERVER should be set to git-cvsserver - - Example: +Example: +------ export CVSROOT=:ext:user@server:/var/git/project.git export CVS_SERVER=git-cvsserver - +------ +-- 4. For SSH clients that will make commits, make sure their .bashrc file sets the GIT_AUTHOR and GIT_COMMITTER variables. 5. Clients should now be able to check out the project. Use the CVS 'module' name to indicate what GIT 'head' you want to check out. Example: - ++ +------ cvs co -d project-master master +------ Eclipse CVS Client Notes ------------------------ @@ -97,21 +110,21 @@ To get a checkout with the Eclipse CVS client: Protocol notes: If you are using anonymous access via pserver, just select that. Those using SSH access should choose the 'ext' protocol, and configure 'ext' access on the Preferences->Team->CVS->ExtConnection pane. Set CVS_SERVER to -'git-cvsserver'. Not that password support is not good when using 'ext', +'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 +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 +- 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 -------------------- @@ -121,9 +134,11 @@ 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. +The server should set the '-k' mode to binary when relevant, however, +this is not really implemented yet. For now, you can force the server +to set '-kb' for all files by setting the `gitcvs.allbinary` config +variable. In proper GIT tradition, the contents of the files are +always respected. No keyword expansion or newline munging is supported. Dependencies ------------ @@ -135,13 +150,16 @@ 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 . +Authors: + +- Martyn Smith +- Martin Langhoff + +with ideas and patches from participants of the git-list . Documentation -------------- -Documentation by Martyn Smith and Martin Langhoff Matthias Urlichs . +Documentation by Martyn Smith , Martin Langhoff , and Matthias Urlichs . GIT ---