Clarify documentation of git-cvsserver, particularly in relation to git-shell
For SSH clients restricted to git-shell, CVS_SERVER does not have to be specified, because git-shell understands the default value of 'cvs' to mean git-cvsserver'. This makes it totally transparent to CVS users, but the instruction to set up CVS access for people with real shell access does not apply. Previous wording mentioning GIT_AUTHOR, GIT_COMMITTER variables was unclear that we really meant GIT_AUTHOR_(NAME|EMAIL), etc. Note that the .ssh/environment file is a good place to set these, and that the .bashrc is shell-specific. Add a bit of text to differentiate cvs -d (setting CVSROOT) from cvs co -d (setting the name of the newly checked out directory). Removed an extra 'Example:' string. Signed-off-by: Scott Collins <scc@ScottCollins.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
e80950786c
commit
2c2d02a6a7
@ -110,7 +110,9 @@ cvs -d ":ext;CVS_SERVER=git-cvsserver:user@server/path/repo.git" co <HEAD_name>
|
|||||||
------
|
------
|
||||||
This has the advantage that it will be saved in your 'CVS/Root' files and
|
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
|
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
|
2. For each repo that you want accessible from CVS you need to edit config in
|
||||||
the repo and add the following section.
|
the repo and add the following section.
|
||||||
@ -141,25 +143,29 @@ allowing access over SSH.
|
|||||||
enabled=1
|
enabled=1
|
||||||
------
|
------
|
||||||
--
|
--
|
||||||
3. On the client machine you need to set the following variables.
|
3. If you didn't specify the CVSROOT/CVS_SERVER directly in the checkout command,
|
||||||
CVSROOT should be set as per normal, but the directory should point at the
|
automatically saving it in your 'CVS/Root' files, then you need to set them
|
||||||
appropriate git repo. For example:
|
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 CVSROOT=:ext:user@server:/var/git/project.git
|
||||||
export CVS_SERVER=git-cvsserver
|
export CVS_SERVER=git-cvsserver
|
||||||
------
|
------
|
||||||
--
|
--
|
||||||
4. For SSH clients that will make commits, make sure their .bashrc file
|
4. For SSH clients that will make commits, make sure their server-side
|
||||||
sets the GIT_AUTHOR and GIT_COMMITTER variables.
|
.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'
|
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
|
cvs co -d project-master master
|
||||||
|
Loading…
Reference in New Issue
Block a user