{"thread":{"id":"13124","subject":"[PATCH] Clarify documentation of git-cvsserver, particularly in relation to git-shell","startedAt":"2008-04-15T15:30:02Z","lastAt":"2008-04-19T15:45:38Z","messageCount":8,"participants":["Scott Collins","Junio C Hamano","Johannes Schindelin"],"isPatch":true,"patchVersion":1,"patchTotal":null},"messages":[{"id":"74452","messageId":"1208273402-2152-1-git-send-email-scc@ScottCollins.net","threadId":"13124","inReplyTo":null,"subject":"[PATCH] Clarify documentation of git-cvsserver, particularly in relation to git-shell","fromName":"Scott Collins","fromEmail":"scc@scottcollins.net","sentAt":"2008-04-15T15:30:02Z","receivedAt":"2008-04-15T15:30:02Z","isPatch":true,"sender":{"key":"scc@scottcollins.net","avatar":null},"body":"Currently, git-cvsserver requires CVS_SERVER to be set to 'cvs' if you are\nrestricted to git-shell, so we need to mention that here.  Previous wording\nmentioning GIT_AUTHOR, GIT_COMMITTER variables may not have made clear we\nreally meant GIT_AUTHOR_(NAME|COMMITTER), etc.  Add a bit of text to\ndifferentiate cvs -d (setting CVSROOT) from cvs co -d (setting the name of\nthe newly checked out directory).\n\nSigned-off-by: Scott Collins <scc@ScottCollins.net>\n---\n Documentation/git-cvsserver.txt |   19 +++++++++++++------\n 1 files changed, 13 insertions(+), 6 deletions(-)\n\ndiff --git a/Documentation/git-cvsserver.txt b/Documentation/git-cvsserver.txt\nindex 9cec802..5e67a89 100644\n--- a/Documentation/git-cvsserver.txt\n+++ b/Documentation/git-cvsserver.txt\n@@ -106,7 +106,10 @@ Note: Newer CVS versions (>= 1.12.11) also support specifying\n CVS_SERVER directly in CVSROOT like\n \n ------\n-cvs -d \":ext;CVS_SERVER=git-cvsserver:user@server/path/repo.git\" co <HEAD_name>\n+cvs -d \":ext;CVS_SERVER=git-cvsserver:user@server/path/repo.git\" co <HEAD_name> -d <dir_name>\n+\n+# or for git-shell users:\n+cvs -d \":ext;CVS_SERVER=cvs:user@server/path/repo.git\" co <HEAD_name> -d <dir_name>\n ------\n This has the advantage that it will be saved in your 'CVS/Root' files and\n you don't need to worry about always setting the correct environment\n@@ -146,7 +149,8 @@ allowing access over SSH.\n    appropriate git repo. For example:\n +\n --\n-For SSH access, CVS_SERVER should be set to git-cvsserver\n+For normal SSH access, CVS_SERVER should be set to git-cvsserver.  For those\n+whose access is restricted to git-shell, CVS_SERVER should be set to cvs.\n \n Example:\n \n@@ -155,14 +159,17 @@ Example:\n      export CVS_SERVER=git-cvsserver\n ------\n --\n-4. For SSH clients that will make commits, make sure their .bashrc file\n-   sets the GIT_AUTHOR and GIT_COMMITTER variables.\n+4. For SSH clients that will make commits, make sure their (server-side) .bashrc\n+   files export GIT_AUTHOR_NAME, GIT_AUTHOR_EMAIL, GIT_COMMITTER_NAME, and\n+   GIT_COMMITTER_EMAIL.\n \n 5. Clients should now be able to check out the project. Use the CVS 'module'\n-   name to indicate what GIT 'head' you want to check out. Example:\n+   name to indicate what GIT 'head' you want to check out.  This also sets the\n+   name of your newly checked-out directory, unless you tell it otherwise with\n+   `-d <dir_name>` Example:\n +\n ------\n-     cvs co -d project-master master\n+     cvs co master -d project-master\n ------\n \n [[dbbackend]]\n-- \n1.5.5.49.gf43e2\n"},{"id":"74463","messageId":"7vve2jx9at.fsf@gitster.siamese.dyndns.org","threadId":"13124","inReplyTo":"1208273402-2152-1-git-send-email-scc@ScottCollins.net","subject":"Re: [PATCH] Clarify documentation of git-cvsserver, particularly in relation to git-shell","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2008-04-15T18:27:54Z","receivedAt":"2008-04-15T18:27:54Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Scott Collins <scc@ScottCollins.net> writes:\n\n> Currently, git-cvsserver requires CVS_SERVER to be set to 'cvs' if you are\n> restricted to git-shell, so we need to mention that here.  Previous wording\n> mentioning GIT_AUTHOR, GIT_COMMITTER variables may not have made clear we\n> really meant GIT_AUTHOR_(NAME|COMMITTER), etc.  Add a bit of text to\n> differentiate cvs -d (setting CVSROOT) from cvs co -d (setting the name of\n> the newly checked out directory).\n>\n> Signed-off-by: Scott Collins <scc@ScottCollins.net>\n> ---\n>  Documentation/git-cvsserver.txt |   19 +++++++++++++------\n>  1 files changed, 13 insertions(+), 6 deletions(-)\n\nThanks; please make it a habit to give a final round of proofreading\nbefore you send your messages out.  For example, I do not think we meant\n\"GIT_AUTHOR_(NAME|COMMITTER)\" ;-)\n\n> diff --git a/Documentation/git-cvsserver.txt b/Documentation/git-cvsserver.txt\n> index 9cec802..5e67a89 100644\n> --- a/Documentation/git-cvsserver.txt\n> +++ b/Documentation/git-cvsserver.txt\n> @@ -106,7 +106,10 @@ Note: Newer CVS versions (>= 1.12.11) also support specifying\n>  CVS_SERVER directly in CVSROOT like\n>  \n>  ------\n> -cvs -d \":ext;CVS_SERVER=git-cvsserver:user@server/path/repo.git\" co <HEAD_name>\n> +cvs -d \":ext;CVS_SERVER=git-cvsserver:user@server/path/repo.git\" co <HEAD_name> -d <dir_name>\n> +\n> +# or for git-shell users:\n> +cvs -d \":ext;CVS_SERVER=cvs:user@server/path/repo.git\" co <HEAD_name> -d <dir_name>\n>  ------\n>  This has the advantage that it will be saved in your 'CVS/Root' files and\n>  you don't need to worry about always setting the correct environment\n> @@ -146,7 +149,8 @@ allowing access over SSH.\n>     appropriate git repo. For example:\n>  +\n>  --\n> -For SSH access, CVS_SERVER should be set to git-cvsserver\n> +For normal SSH access, CVS_SERVER should be set to git-cvsserver.  For those\n> +whose access is restricted to git-shell, CVS_SERVER should be set to cvs.\n>  \n>  Example:\n\nHmm.  Can't this be further improved?\n\nMy undestanding of the reasoning behind 0c696fe (Support cvs via\ngit-shell, 2007-10-09) is by doing this people do not have to say\nCVS_SERVER and do this instead:\n\n\tcvs -d :ext:[user@]cvs.example.com:/path/to/repo checkout foo\n\nwhich would truly hide the fact that the server end is running something\nfunky, because the command line exactly matches how you would access the\nreal CVS repository over ssh.\n\nDscho, care to comment?  This commit happened while I was away so I do not\nreally _recall_ the discussion that led to it, but I have always thought\nthat was the intention.\n\n> @@ -155,14 +159,17 @@ Example:\n>       export CVS_SERVER=git-cvsserver\n>  ------\n>  --\n> -4. For SSH clients that will make commits, make sure their .bashrc file\n> -   sets the GIT_AUTHOR and GIT_COMMITTER variables.\n> +4. For SSH clients that will make commits, make sure their (server-side) .bashrc\n> +   files export GIT_AUTHOR_NAME, GIT_AUTHOR_EMAIL, GIT_COMMITTER_NAME, and\n> +   GIT_COMMITTER_EMAIL.\n>  \n>  5. Clients should now be able to check out the project. Use the CVS 'module'\n> -   name to indicate what GIT 'head' you want to check out. Example:\n> +   name to indicate what GIT 'head' you want to check out.  This also sets the\n> +   name of your newly checked-out directory, unless you tell it otherwise with\n> +   `-d <dir_name>` Example:\n>  +\n>  ------\n> -     cvs co -d project-master master\n> +     cvs co master -d project-master\n>  ------\n\nAre you sure you wanted to do this?  In any case this is different from\nwhat I read you changed in your commit log message, where you clarified\ndistinction between d1 and d2 in \"cvs -d d1 co -d d2 module\".  Instead\nwhat you did here is to change \"cvs co -d d module\" (which looks more\nnatural) to \"cvs co module -d d\" (which might work if the options are\nreordered across parameters, but is unusual).\n"},{"id":"74471","messageId":"39292ba40804151233k2dd9300as5611e65ab6fcd81d@mail.gmail.com","threadId":"13124","inReplyTo":"7vve2jx9at.fsf@gitster.siamese.dyndns.org","subject":"Re: [PATCH] Clarify documentation of git-cvsserver, particularly in relation to git-shell","fromName":"Scott Collins","fromEmail":"scc@scottcollins.net","sentAt":"2008-04-15T19:33:44Z","receivedAt":"2008-04-15T19:33:44Z","isPatch":true,"sender":{"key":"scc@scottcollins.net","avatar":null},"body":"On Tue, Apr 15, 2008 at 2:27 PM, Junio C Hamano <gitster@pobox.com> wrote:\n>  Thanks; please make it a habit to give a final round of proofreading\n>  before you send your messages out.  For example, I do not think we meant\n>  \"GIT_AUTHOR_(NAME|COMMITTER)\" ;-)\n\nYikes!  Correct.\n\n>  Hmm.  Can't this be further improved?\n>\n>  My undestanding of the reasoning behind 0c696fe (Support cvs via\n>  git-shell, 2007-10-09) is by doing this people do not have to say\n>  CVS_SERVER and do this instead:\n>\n>         cvs -d :ext:[user@]cvs.example.com:/path/to/repo checkout foo\n>\n>  which would truly hide the fact that the server end is running something\n>  funky, because the command line exactly matches how you would access the\n>  real CVS repository over ssh.\n\nIf that's the case, then I should mention instead that users\nrestricted to git-shell should _not_ set or change CVS_SERVER, and\nremove the extra examples.\n\n>  Dscho, care to comment?  This commit happened while I was away so I do not\n>  really _recall_ the discussion that led to it, but I have always thought\n>  that was the intention.\n\nI actually was very tempted to modify git-shell to understand\ngit-cvsserver; but decided to submit a documentation patch first,\nhoping from the discussion I would learn if that was the right path.\n\n\n>  >  5. Clients should now be able to check out the project. Use the CVS 'module'\n>  > -   name to indicate what GIT 'head' you want to check out. Example:\n>  > +   name to indicate what GIT 'head' you want to check out.  This also sets the\n>  > +   name of your newly checked-out directory, unless you tell it otherwise with\n>  > +   `-d <dir_name>` Example:\n>  >  +\n>  >  ------\n>  > -     cvs co -d project-master master\n>  > +     cvs co master -d project-master\n>  >  ------\n>\n>  Are you sure you wanted to do this?  In any case this is different from\n>  what I read you changed in your commit log message, where you clarified\n>  distinction between d1 and d2 in \"cvs -d d1 co -d d2 module\".  Instead\n>  what you did here is to change \"cvs co -d d module\" (which looks more\n>  natural) to \"cvs co module -d d\" (which might work if the options are\n>  reordered across parameters, but is unusual).\n\nHmmm.  My intent was to make it read more naturally, which for me is\n\"checkout this module, put it into this directory\".  At least that's\nhow I've always said it to CVS.  Warning readers that there are two\ndifferent meanings for -d, and they probably want them both in the\nsame command is more important to me than moving the -d to the end.  A\nbetter fix to that example would be something along the lines of:\n\n  cvs -d <CVSROOT-as-above> co -d <dir-name> <head-name>\n\nI didn't do that, though, because it looked like this example was\nintended to be concrete.\n\nI'll update my patch and re-submit after I test not setting\nCVS_SERVER, and feel I have the right replacement example, if any, for\nthe text just above.\n__________\nScott Collins\n"},{"id":"74477","messageId":"1208293415-19212-1-git-send-email-scc@ScottCollins.net","threadId":"13124","inReplyTo":"39292ba40804151233k2dd9300as5611e65ab6fcd81d@mail.gmail.com","subject":"[PATCH] Clarify documentation of git-cvsserver, particularly in relation to git-shell","fromName":"Scott Collins","fromEmail":"scc@scottcollins.net","sentAt":"2008-04-15T21:03:35Z","receivedAt":"2008-04-15T21:03:35Z","isPatch":true,"sender":{"key":"scc@scottcollins.net","avatar":null},"body":"Currently, for SSH clients restricted to git-shell, CVS_SERVER should\nnot be changed: git-shell understands the default value of 'cvs' to mean\ngit-cvsserver and actually _doesn't_ understand the command\n'git-cvsserver'. This makes it totally transparent to CVS users, but the\noriginal wording here perhaps less so to the person setting-up CVS\naccess.  Previous wording mentioning GIT_AUTHOR, GIT_COMMITTER variables\nmay not have made clear we really meant GIT_AUTHOR_(NAME|EMAIL), etc.\nAdd a bit of text to differentiate cvs -d (setting CVSROOT) from cvs co\n-d (setting the name of the newly checked out directory).  Removed an\nextra 'Example:' string.\n\nSigned-off-by: Scott Collins <scc@ScottCollins.net>\n---\n Documentation/git-cvsserver.txt |   27 +++++++++++++++------------\n 1 files changed, 15 insertions(+), 12 deletions(-)\n\ndiff --git a/Documentation/git-cvsserver.txt b/Documentation/git-cvsserver.txt\nindex 9cec802..44734e8 100644\n--- a/Documentation/git-cvsserver.txt\n+++ b/Documentation/git-cvsserver.txt\n@@ -106,11 +106,13 @@ Note: Newer CVS versions (>= 1.12.11) also support specifying\n CVS_SERVER directly in CVSROOT like\n \n ------\n-cvs -d \":ext;CVS_SERVER=git-cvsserver:user@server/path/repo.git\" co <HEAD_name>\n+cvs -d \":ext;CVS_SERVER=git-cvsserver:user@server/path/repo.git\" co <HEAD_name> -d <dir_name>\n ------\n This has the advantage that it will be saved in your 'CVS/Root' files and\n you don't need to worry about always setting the correct environment\n-variable.\n+variable.  SSH users restricted to git-shell don't need to override the default\n+with CVS_SERVER (and probably shouldn't) as git-shell understands 'cvs' to mean\n+git-cvsserver.\n --\n 2. For each repo that you want accessible from CVS you need to edit config in\n    the repo and add the following section.\n@@ -141,25 +143,26 @@ allowing access over SSH.\n         enabled=1\n ------\n --\n-3. On the client machine you need to set the following variables.\n-   CVSROOT should be set as per normal, but the directory should point at the\n-   appropriate git repo. For example:\n+3. If you didn't specify the CVSROOT/CVS_SERVER directly in the checkout command,\n+   automatically saving it in your 'CVS/Root' files, then you need to set them\n+   explicitly in your environment.  CVSROOT should be set as per normal, but the\n+   directory should point at the appropriate git repo.  As above, for SSH clients\n+   _not_ restricted to git-shell, CVS_SERVER should be set to git-cvsserver.\n +\n --\n-For SSH access, CVS_SERVER should be set to git-cvsserver\n-\n-Example:\n-\n ------\n      export CVSROOT=:ext:user@server:/var/git/project.git\n      export CVS_SERVER=git-cvsserver\n ------\n --\n-4. For SSH clients that will make commits, make sure their .bashrc file\n-   sets the GIT_AUTHOR and GIT_COMMITTER variables.\n+4. For SSH clients that will make commits, make sure their (server-side) .bashrc\n+   files export GIT_AUTHOR_NAME, GIT_AUTHOR_EMAIL, GIT_COMMITTER_NAME, and\n+   GIT_COMMITTER_EMAIL.\n \n 5. Clients should now be able to check out the project. Use the CVS 'module'\n-   name to indicate what GIT 'head' you want to check out. Example:\n+   name to indicate what GIT 'head' you want to check out.  This also sets the\n+   name of your newly checked-out directory, unless you tell it otherwise with\n+   `-d <dir_name>`.  Example:\n +\n ------\n      cvs co -d project-master master\n-- \n1.5.5.49.gf43e2\n"},{"id":"74481","messageId":"1208295883-19599-1-git-send-email-scc@ScottCollins.net","threadId":"13124","inReplyTo":"39292ba40804151233k2dd9300as5611e65ab6fcd81d@mail.gmail.com","subject":"[PATCH] Clarify documentation of git-cvsserver, particularly in relation to git-shell","fromName":"Scott Collins","fromEmail":"scc@scottcollins.net","sentAt":"2008-04-15T21:44:43Z","receivedAt":"2008-04-15T21:44:43Z","isPatch":true,"sender":{"key":"scc@scottcollins.net","avatar":null},"body":"Currently, for SSH clients restricted to git-shell, CVS_SERVER should\nnot be changed: git-shell understands the default value of 'cvs' to mean\ngit-cvsserver and actually _doesn't_ understand the command\n'git-cvsserver'. This makes it totally transparent to CVS users, but the\noriginal wording here perhaps less so to the person setting-up CVS\naccess.  Previous wording mentioning GIT_AUTHOR, GIT_COMMITTER variables\nmay not have made clear we really meant GIT_AUTHOR_(NAME|EMAIL), etc.\nNote that .ssh/environment is a good place to set these, and that\n.bashrc is shell-specific. Add a bit of text to differentiate cvs -d\n(setting CVSROOT) from cvs co -d (setting the name of the newly checked\nout directory).  Removed an extra 'Example:' string.\n\nSigned-off-by: Scott Collins <scc@ScottCollins.net>\n---\n...because of course I forget to mention .ssh/environment (required for\ngit-shell clients).  Sorry for the patch noise.\n\n\n Documentation/git-cvsserver.txt |   29 +++++++++++++++++------------\n 1 files changed, 17 insertions(+), 12 deletions(-)\n\ndiff --git a/Documentation/git-cvsserver.txt b/Documentation/git-cvsserver.txt\nindex 9cec802..bd98fc1 100644\n--- a/Documentation/git-cvsserver.txt\n+++ b/Documentation/git-cvsserver.txt\n@@ -106,11 +106,13 @@ Note: Newer CVS versions (>= 1.12.11) also support specifying\n CVS_SERVER directly in CVSROOT like\n \n ------\n-cvs -d \":ext;CVS_SERVER=git-cvsserver:user@server/path/repo.git\" co <HEAD_name>\n+cvs -d \":ext;CVS_SERVER=git-cvsserver:user@server/path/repo.git\" co <HEAD_name> -d <dir_name>\n ------\n This has the advantage that it will be saved in your 'CVS/Root' files and\n you don't need to worry about always setting the correct environment\n-variable.\n+variable.  SSH users restricted to git-shell don't need to override the default\n+with CVS_SERVER (and probably shouldn't) as git-shell understands 'cvs' to mean\n+git-cvsserver.\n --\n 2. For each repo that you want accessible from CVS you need to edit config in\n    the repo and add the following section.\n@@ -141,25 +143,28 @@ allowing access over SSH.\n         enabled=1\n ------\n --\n-3. On the client machine you need to set the following variables.\n-   CVSROOT should be set as per normal, but the directory should point at the\n-   appropriate git repo. For example:\n+3. If you didn't specify the CVSROOT/CVS_SERVER directly in the checkout command,\n+   automatically saving it in your 'CVS/Root' files, then you need to set them\n+   explicitly in your environment.  CVSROOT should be set as per normal, but the\n+   directory should point at the appropriate git repo.  As above, for SSH clients\n+   _not_ restricted to git-shell, CVS_SERVER should be set to git-cvsserver.\n +\n --\n-For SSH access, CVS_SERVER should be set to git-cvsserver\n-\n-Example:\n-\n ------\n      export CVSROOT=:ext:user@server:/var/git/project.git\n      export CVS_SERVER=git-cvsserver\n ------\n --\n-4. For SSH clients that will make commits, make sure their .bashrc file\n-   sets the GIT_AUTHOR and GIT_COMMITTER variables.\n+4. For SSH clients that will make commits, make sure their server-side\n+   .ssh/environment files (or .bashrc, etc., according to their specific shell)\n+   export appropriate values for GIT_AUTHOR_NAME, GIT_AUTHOR_EMAIL,\n+   GIT_COMMITTER_NAME, and GIT_COMMITTER_EMAIL.  For SSH clients connecting to a\n+   bash shell, .bashrc is a reasonable alternative.\n \n 5. Clients should now be able to check out the project. Use the CVS 'module'\n-   name to indicate what GIT 'head' you want to check out. Example:\n+   name to indicate what GIT 'head' you want to check out.  This also sets the\n+   name of your newly checked-out directory, unless you tell it otherwise with\n+   `-d <dir_name>`.  Example:\n +\n ------\n      cvs co -d project-master master\n-- \n1.5.5.49.gf43e2\n"},{"id":"74589","messageId":"7vhce1pnxf.fsf@gitster.siamese.dyndns.org","threadId":"13124","inReplyTo":"1208295883-19599-1-git-send-email-scc@ScottCollins.net","subject":"Re: [PATCH] Clarify documentation of git-cvsserver, particularly in relation to git-shell","fromName":"Junio C Hamano","fromEmail":"junio@pobox.com","sentAt":"2008-04-16T20:03:40Z","receivedAt":"2008-04-16T20:03:40Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Scott Collins <scc@ScottCollins.net> writes:\n\n> For SSH clients restricted to git-shell, CVS_SERVER does not have to be\n> specified, because git-shell understands the default value of 'cvs' to\n> mean git-cvsserver'. This makes it totally transparent to CVS users, but\n> the instruction to set up CVS access for people with real shell access\n> does not apply.\n\nThanks.  I was only _guessing_ that the reasoning behind the \"cvs\" hack in\ngit-shell was to allow a vanilla \"cvs over ssh\" to work transparently\nwithout trying, but it appears to work exactly that way.\n\n>\n> Note that the .ssh/environment file is a good place to set these, and that\n> the .bashrc is shell-specific. Add a bit of text to differentiate cvs -d\n> (setting CVSROOT) from cvs co -d (setting the name of the newly checked\n> out directory).  Removed an extra 'Example:' string.\n\nSuggesting .ssh/environment as an alternative is a good idea, but not\neverybody's sshd pays attention to it, so the user still needs to learn\nhow to drive his or her ssh environment.  But this document is not a\ntroubleshooting guide for ssh, so let's not go there too much.  I think\nyour description is fine.\n"},{"id":"74758","messageId":"alpine.DEB.1.00.0804191620380.20708@eeepc-johanness","threadId":"13124","inReplyTo":"1208293415-19212-1-git-send-email-scc@ScottCollins.net","subject":"Re: [PATCH] Clarify documentation of git-cvsserver, particularly in relation to git-shell","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2008-04-19T15:43:24Z","receivedAt":"2008-04-19T15:43:24Z","isPatch":true,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Hi,\n\nOn Tue, 15 Apr 2008, Scott Collins wrote:\n\n> Currently, for SSH clients restricted to git-shell, CVS_SERVER should\n> not be changed: git-shell understands the default value of 'cvs' to mean\n> git-cvsserver and actually _doesn't_ understand the command\n> 'git-cvsserver'.\n\nHow about a new paragraph here?\n\n> This makes it totally transparent to CVS users, but the\n> original wording here perhaps less so to the person setting-up CVS\n> access.  Previous wording mentioning GIT_AUTHOR, GIT_COMMITTER variables\n> may not have made clear we really meant GIT_AUTHOR_(NAME|EMAIL), etc.\n\nLikewise here.\n\n> Add a bit of text to differentiate cvs -d (setting CVSROOT) from cvs co\n> -d (setting the name of the newly checked out directory).  Removed an\n> extra 'Example:' string.\n> \n> Signed-off-by: Scott Collins <scc@ScottCollins.net>\n> ---\n>  Documentation/git-cvsserver.txt |   27 +++++++++++++++------------\n>  1 files changed, 15 insertions(+), 12 deletions(-)\n> \n> diff --git a/Documentation/git-cvsserver.txt b/Documentation/git-cvsserver.txt\n> index 9cec802..44734e8 100644\n> --- a/Documentation/git-cvsserver.txt\n> +++ b/Documentation/git-cvsserver.txt\n> @@ -106,11 +106,13 @@ Note: Newer CVS versions (>= 1.12.11) also support specifying\n>  CVS_SERVER directly in CVSROOT like\n>  \n>  ------\n> -cvs -d \":ext;CVS_SERVER=git-cvsserver:user@server/path/repo.git\" co <HEAD_name>\n> +cvs -d \":ext;CVS_SERVER=git-cvsserver:user@server/path/repo.git\" co <HEAD_name> -d <dir_name>\n\nI am not really sure.  Normal usage AFAIAC is without -d.\n\n>  ------\n>  This has the advantage that it will be saved in your 'CVS/Root' files and\n>  you don't need to worry about always setting the correct environment\n> -variable.\n> +variable.  SSH users restricted to git-shell don't need to override the default\n> +with CVS_SERVER (and probably shouldn't) as git-shell understands 'cvs' to mean\n> +git-cvsserver.\n\nPlease make these lines shorter.\n\n> @@ -141,25 +143,26 @@ allowing access over SSH.\n>          enabled=1\n>  ------\n>  --\n> -3. On the client machine you need to set the following variables.\n> -   CVSROOT should be set as per normal, but the directory should point at the\n> -   appropriate git repo. For example:\n> +3. If you didn't specify the CVSROOT/CVS_SERVER directly in the checkout command,\n> +   automatically saving it in your 'CVS/Root' files, then you need to set them\n> +   explicitly in your environment.  CVSROOT should be set as per normal, but the\n> +   directory should point at the appropriate git repo.  As above, for SSH clients\n> +   _not_ restricted to git-shell, CVS_SERVER should be set to git-cvsserver.\n\nPlease make the lines shorter.\n\nAlso, I seem to recall that \"didn't\" is considered colloquial speech, \nwhile you should write \"did not\" in written documentation.\n\nAnother thing: \"CVSROOT should be set as per normal\" strikes me as a \nlittle short on concrete, helpful details.\n\nThanks, Dscho\n"},{"id":"74753","messageId":"alpine.DEB.1.00.0804191643330.20708@eeepc-johanness","threadId":"13124","inReplyTo":"7vve2jx9at.fsf@gitster.siamese.dyndns.org","subject":"Re: [PATCH] Clarify documentation of git-cvsserver, particularly in relation to git-shell","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2008-04-19T15:45:38Z","receivedAt":"2008-04-19T15:45:38Z","isPatch":true,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Hi,\n\nOn Tue, 15 Apr 2008, Junio C Hamano wrote:\n\n> Dscho, care to comment?  This commit happened while I was away so I do \n> not really _recall_ the discussion that led to it, but I have always \n> thought that was the intention.\n\nSorry, was out of the loop for a few days.  Private life and moving to \nanother country will do that to you.\n\nI commented on the new version of the patch.  AFAIR I tried to get \n\"git-cvsserver\" allowed in git-shell, too, but that was shot down.  I am \nnot sure if we should include that again, for ease of use, though.\n\nCiao,\nDscho\n"}]}