summaryrefslogtreecommitdiffstats
path: root/git-cvsserver.html
diff options
context:
space:
mode:
authorJunio C Hamano <junio@kernel.org>2010-06-13 19:57:10 +0000
committerJunio C Hamano <junio@kernel.org>2010-06-13 19:57:10 +0000
commita574a0905e5c1cf6915624561a011e486cccc25d (patch)
treef8e1c02eb76cc8831442ead327d686de001c8b60 /git-cvsserver.html
parent13002fbb3347e98e74c1ff7ec581fda52a09dd72 (diff)
downloadgit-htmldocs-a574a0905e5c1cf6915624561a011e486cccc25d.tar.gz
Autogenerated HTML docs for v1.7.1-331-ga5080
Diffstat (limited to 'git-cvsserver.html')
-rw-r--r--git-cvsserver.html37
1 files changed, 33 insertions, 4 deletions
diff --git a/git-cvsserver.html b/git-cvsserver.html
index 136b241d3..0eb80de6b 100644
--- a/git-cvsserver.html
+++ b/git-cvsserver.html
@@ -411,8 +411,6 @@ plugin. Most functionality works fine with both of these clients.</p></div>
</div>
<h2 id="_limitations">LIMITATIONS</h2>
<div class="sectionbody">
-<div class="para"><p>Currently cvsserver works over SSH connections for read/write clients, and
-over pserver for anonymous CVS access.</p></div>
<div class="para"><p>CVS clients cannot tag, branch or perform GIT merges.</p></div>
<div class="para"><p><em>git-cvsserver</em> maps GIT branches to CVS modules. This is very different
from what most CVS users would expect since in CVS modules usually represent
@@ -423,7 +421,7 @@ one or more directories.</p></div>
<div class="olist"><ol>
<li>
<p>
-If you are going to offer anonymous CVS access via pserver, add a line in
+If you are going to offer CVS access via pserver, add a line in
/etc/inetd.conf like
</p>
<div class="listingblock">
@@ -440,6 +438,37 @@ looks like</p></div>
<pre><tt> cvspserver stream tcp nowait nobody /usr/bin/git-cvsserver git-cvsserver pserver
</tt></pre>
</div></div>
+<div class="para"><p>Only anonymous access is provided by pserve by default. To commit you
+will have to create pserver accounts, simply add a gitcvs.authdb
+setting in the config file of the repositories you want the cvsserver
+to allow writes to, for example:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><tt>
+ [gitcvs]
+ authdb = /etc/cvsserver/passwd
+</tt></pre>
+</div></div>
+<div class="para"><p>The format of these files is username followed by the crypted password,
+for example:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><tt> myuser:$1Oyx5r9mdGZ2
+ myuser:$1$BA)@$vbnMJMDym7tA32AamXrm./</tt></pre>
+</div></div>
+<div class="para"><p>You can use the <em>htpasswd</em> facility that comes with Apache to make these
+files, but Apache's MD5 crypt method differs from the one used by most C
+library's crypt() function, so don't use the -m option.</p></div>
+<div class="para"><p>Alternatively you can produce the password with perl's crypt() operator:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><tt> perl -e 'my ($user, $pass) = @ARGV; printf "%s:%s\n", $user, crypt($user, $pass)' $USER password</tt></pre>
+</div></div>
+<div class="para"><p>Then provide your password via the pserver method, for example:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><tt> cvs -d:pserver:someuser:somepassword &lt;at&gt; server/path/repo.git co &lt;HEAD_name&gt;</tt></pre>
+</div></div>
<div class="para"><p>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
environment variable, you can rename <em>git-cvsserver</em> to <tt>cvs</tt>.</p></div>
@@ -806,7 +835,7 @@ Martin Langhoff &lt;martin@catalyst.net.nz&gt;
</div>
<div id="footer">
<div id="footer-text">
-Last updated 2010-04-24 02:55:51 UTC
+Last updated 2010-06-13 19:56:32 UTC
</div>
</div>
</body>