@@ -411,8 +411,6 @@ <h2 id="_description">DESCRIPTION</h2>
411411</ div >
412412< h2 id ="_limitations "> LIMITATIONS</ h2 >
413413< div class ="sectionbody ">
414- < div class ="para "> < p > Currently cvsserver works over SSH connections for read/write clients, and
415- over pserver for anonymous CVS access.</ p > </ div >
416414< div class ="para "> < p > CVS clients cannot tag, branch or perform GIT merges.</ p > </ div >
417415< div class ="para "> < p > < em > git-cvsserver</ em > maps GIT branches to CVS modules. This is very different
418416from what most CVS users would expect since in CVS modules usually represent
@@ -423,7 +421,7 @@ <h2 id="_installation">INSTALLATION</h2>
423421< div class ="olist "> < ol >
424422< li >
425423< p >
426- If you are going to offer anonymous CVS access via pserver, add a line in
424+ If you are going to offer CVS access via pserver, add a line in
427425 /etc/inetd.conf like
428426</ p >
429427< div class ="listingblock ">
@@ -440,6 +438,37 @@ <h2 id="_installation">INSTALLATION</h2>
440438< pre > < tt > cvspserver stream tcp nowait nobody /usr/bin/git-cvsserver git-cvsserver pserver
441439</ tt > </ pre >
442440</ div > </ div >
441+ < div class ="para "> < p > Only anonymous access is provided by pserve by default. To commit you
442+ will have to create pserver accounts, simply add a gitcvs.authdb
443+ setting in the config file of the repositories you want the cvsserver
444+ to allow writes to, for example:</ p > </ div >
445+ < div class ="listingblock ">
446+ < div class ="content ">
447+ < pre > < tt >
448+ [gitcvs]
449+ authdb = /etc/cvsserver/passwd
450+ </ tt > </ pre >
451+ </ div > </ div >
452+ < div class ="para "> < p > The format of these files is username followed by the crypted password,
453+ for example:</ p > </ div >
454+ < div class ="listingblock ">
455+ < div class ="content ">
456+ < pre > < tt > myuser:$1Oyx5r9mdGZ2
457+ myuser:$1$BA)@$vbnMJMDym7tA32AamXrm./</ tt > </ pre >
458+ </ div > </ div >
459+ < div class ="para "> < p > You can use the < em > htpasswd</ em > facility that comes with Apache to make these
460+ files, but Apache's MD5 crypt method differs from the one used by most C
461+ library's crypt() function, so don't use the -m option.</ p > </ div >
462+ < div class ="para "> < p > Alternatively you can produce the password with perl's crypt() operator:</ p > </ div >
463+ < div class ="listingblock ">
464+ < div class ="content ">
465+ < pre > < tt > perl -e 'my ($user, $pass) = @ARGV; printf "%s:%s\n", $user, crypt($user, $pass)' $USER password</ tt > </ pre >
466+ </ div > </ div >
467+ < div class ="para "> < p > Then provide your password via the pserver method, for example:</ p > </ div >
468+ < div class ="listingblock ">
469+ < div class ="content ">
470+ < pre > < tt > cvs -d:pserver:someuser:somepassword <at> server/path/repo.git co <HEAD_name></ tt > </ pre >
471+ </ div > </ div >
443472< div class ="para "> < p > No special setup is needed for SSH access, other than having GIT tools
444473in the PATH. If you have clients that do not accept the CVS_SERVER
445474environment variable, you can rename < em > git-cvsserver</ em > to < tt > cvs</ tt > .</ p > </ div >
@@ -806,7 +835,7 @@ <h2 id="_git">GIT</h2>
806835</ div >
807836< div id ="footer ">
808837< div id ="footer-text ">
809- Last updated 2010-04-24 02:55:51 UTC
838+ Last updated 2010-06-13 19:56:32 UTC
810839</ div >
811840</ div >
812841</ body >
0 commit comments