</div></div>\r
<p>This has the advantage that it will be saved in your <em>CVS/Root</em> files and\r
you don't need to worry about always setting the correct environment\r
-variable.</p>\r
+variable. SSH users restricted to git-shell don't need to override the default\r
+with CVS_SERVER (and shouldn't) as git-shell understands <tt>cvs</tt> to mean\r
+git-cvsserver and pretends that the other end runs the real cvs better.</p>\r
</li>\r
<li>\r
<p>\r
</li>\r
<li>\r
<p>\r
-On the client machine you need to set the following variables.\r
- CVSROOT should be set as per normal, but the directory should point at the\r
- appropriate git repo. For example:\r
+If you didn't specify the CVSROOT/CVS_SERVER directly in the checkout command,\r
+ automatically saving it in your <em>CVS/Root</em> files, then you need to set them\r
+ explicitly in your environment. CVSROOT should be set as per normal, but the\r
+ directory should point at the appropriate git repo. As above, for SSH clients\r
+ _not_ restricted to git-shell, CVS_SERVER should be set to git-cvsserver.\r
</p>\r
-<p>For SSH access, CVS_SERVER should be set to git-cvsserver</p>\r
-<p>Example:</p>\r
<div class="listingblock">\r
<div class="content">\r
<pre><tt> export CVSROOT=:ext:user@server:/var/git/project.git\r
</li>\r
<li>\r
<p>\r
-For SSH clients that will make commits, make sure their .bashrc file\r
- sets the GIT_AUTHOR and GIT_COMMITTER variables.\r
+For SSH clients that will make commits, make sure their server-side\r
+ .ssh/environment files (or .bashrc, etc., according to their specific shell)\r
+ export appropriate values for GIT_AUTHOR_NAME, GIT_AUTHOR_EMAIL,\r
+ GIT_COMMITTER_NAME, and GIT_COMMITTER_EMAIL. For SSH clients whose login\r
+ shell is bash, .bashrc may be a reasonable alternative.\r
</p>\r
</li>\r
<li>\r
<p>\r
Clients should now be able to check out the project. Use the CVS <em>module</em>\r
- name to indicate what GIT <em>head</em> you want to check out. Example:\r
+ name to indicate what GIT <em>head</em> you want to check out. This also sets the\r
+ name of your newly checked-out directory, unless you tell it otherwise with\r
+ <tt>-d <dir_name></tt>. For example, this checks out <em>master</em> branch to the\r
+ <tt>project-master</tt> directory:\r
</p>\r
<div class="listingblock">\r
<div class="content">\r
</div>\r
<div id="footer">\r
<div id="footer-text">\r
-Last updated 02-Apr-2008 08:38:49 UTC\r
+Last updated 16-Apr-2008 09:09:50 UTC\r
</div>\r
</div>\r
</body>\r
------
This has the advantage that it will be saved in your 'CVS/Root' files and
you don't need to worry about always setting the correct environment
-variable.
+variable. SSH users restricted to git-shell don't need to override the default
+with CVS_SERVER (and shouldn't) as git-shell understands `cvs` to mean
+git-cvsserver and pretends that the other end runs the real cvs better.
--
2. For each repo that you want accessible from CVS you need to edit config in
the repo and add the following section.
enabled=1
------
--
-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:
+3. If you didn't specify the CVSROOT/CVS_SERVER directly in the checkout command,
+ automatically saving it in your 'CVS/Root' files, then you need to set them
+ explicitly in your environment. CVSROOT should be set as per normal, but the
+ directory should point at the appropriate git repo. As above, for SSH clients
+ _not_ restricted to git-shell, CVS_SERVER should be set to git-cvsserver.
+
--
-For SSH access, CVS_SERVER should be set to git-cvsserver
-
-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.
+4. For SSH clients that will make commits, make sure their server-side
+ .ssh/environment files (or .bashrc, etc., according to their specific shell)
+ export appropriate values for GIT_AUTHOR_NAME, GIT_AUTHOR_EMAIL,
+ GIT_COMMITTER_NAME, and GIT_COMMITTER_EMAIL. For SSH clients whose login
+ shell is bash, .bashrc may be a reasonable alternative.
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:
+ name to indicate what GIT 'head' you want to check out. This also sets the
+ name of your newly checked-out directory, unless you tell it otherwise with
+ `-d <dir_name>`. For example, this checks out 'master' branch to the
+ `project-master` directory:
+
------
cvs co -d project-master master