# # # rename "Documentation/git-cvsserver.txt" # to "Documentation/mtn-cvsserver.txt" # # patch "Documentation/mtn-cvsserver.txt" # from [b6f78a17fbe65e30b0f9cd64123561ab67c7f1a1] # to [21cca04e0a6b58cfbf3e81c3ce7d810acab0b8de] # # patch "mtn-cvsserver.perl" # from [02f45b17f5dbd6345de409acc85cb5007f1b37ad] # to [f23bc929db304b6abf9c9c93da530ad0a5838631] # ============================================================ --- Documentation/git-cvsserver.txt b6f78a17fbe65e30b0f9cd64123561ab67c7f1a1 +++ Documentation/mtn-cvsserver.txt 21cca04e0a6b58cfbf3e81c3ce7d810acab0b8de @@ -1,20 +1,20 @@ -git-cvsserver(1) +mtn-cvsserver(1) ================ NAME ---- -git-cvsserver - A CVS server emulator for git +mtn-cvsserver - A CVS server emulator for monotone SYNOPSIS -------- [verse] -export CVS_SERVER=git-cvsserver -'cvs' -d :ext:address@hidden/path/repo.git co +export CVS_SERVER=mtn-cvsserver +'cvs' -d :ext:address@hidden/path/repo.mtn co DESCRIPTION ----------- -This application is a CVS emulation layer for git. +This application is a CVS emulation layer for monotone. It is highly functional. However, not all methods are implemented, and for those methods that are implemented, @@ -29,7 +29,7 @@ Currently cvsserver works over SSH connections for read/write clients, and over pserver for anonymous CVS access. -CVS clients cannot tag, branch or perform GIT merges. +CVS clients cannot tag, branch or perform monotone merges. INSTALLATION ------------ @@ -39,58 +39,58 @@ + -- ------ - cvspserver stream tcp nowait nobody git-cvsserver pserver + cvspserver stream tcp nowait nobody mtn-cvsserver pserver ------ Note: In some cases, you need to pass the 'pserver' argument twice for -git-cvsserver to see it. So the line would look like +mtn-cvsserver to see it. So the line would look like ------ - cvspserver stream tcp nowait nobody git-cvsserver pserver pserver + cvspserver stream tcp nowait nobody mtn-cvsserver pserver pserver ------ -No special setup is needed for SSH access, other than having GIT tools +No special setup is needed for SSH access, other than having mtn in the PATH. If you have clients that do not accept the CVS_SERVER -env variable, you can rename git-cvsserver to cvs. +env variable, you can rename mtn-cvsserver to cvs. -- 2. For each repo that you want accessible from CVS you need to edit config in the repo and add the following section. + -- ------ - [gitcvs] + [mtncvs] enabled=1 # optional for debugging logfile=/path/to/logfile ------ -Note: you need to ensure each user that is going to invoke git-cvsserver has -write access to the log file and to the git repository. When offering anon -access via pserver, this means that the nobody user should have write access -to at least the sqlite database at the root of the repository. +Note: you need to ensure each user that is going to invoke mtn-cvsserver has +write access to the log file and to the monotone repository. When offering +anon access via pserver, this means that the nobody user should have write +access to at least the sqlite database at the root of the repository. -- 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: + appropriate monotone repo. For example: + -- -For SSH access, CVS_SERVER should be set to git-cvsserver +For SSH access, CVS_SERVER should be set to mtn-cvsserver Example: ------ - export CVSROOT=:ext:address@hidden:/var/git/project.git - export CVS_SERVER=git-cvsserver + export CVSROOT=:ext:address@hidden:/var/mtn/project.mtn + export CVS_SERVER=mtn-cvsserver ------ -- 4. For SSH clients that will make commits, make sure their .bashrc file - sets the GIT_AUTHOR and GIT_COMMITTER variables. + sets the MTN_AUTHOR and MTN_COMMITTER variables. 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 monotone 'head' you want to check out. Example: + ------ - cvs co -d project-master master + cvs co -d project-master rfqdn.master ------ Eclipse CVS Client Notes @@ -110,13 +110,13 @@ Protocol notes: If you are using anonymous access via pserver, just select that. Those using SSH access should choose the 'ext' protocol, and configure 'ext' access on the Preferences->Team->CVS->ExtConnection pane. Set CVS_SERVER to -'git-cvsserver'. Not that password support is not good when using 'ext', +'mtn-cvsserver'. Not that password support is not good when using 'ext', you will definitely want to have SSH keys setup. Alternatively, you can just use the non-standard extssh protocol that Eclipse offer. In that case CVS_SERVER is ignored, and you will have to replace -the cvs utility on the server with git-cvsserver or manipulate your .bashrc -so that calling 'cvs' effectively calls git-cvsserver. +the cvs utility on the server with mtn-cvsserver or manipulate your .bashrc +so that calling 'cvs' effectively calls mtn-cvsserver. Clients known to work --------------------- @@ -134,14 +134,14 @@ Legacy monitoring operations are not supported (edit, watch and related). Exports and tagging (tags and branches) are not supported at this stage. -The server will set the -k mode to binary when relevant. In proper GIT -tradition, the contents of the files are always respected. +The server will set the -k mode to binary when relevant. In proper +monotone tradition, the contents of the files are always respected. No keyword expansion or newline munging is supported. Dependencies ------------ -git-cvsserver depends on DBD::SQLite. +mtn-cvsserver depends on DBD::SQLite. Copyright and Authors --------------------- @@ -152,10 +152,9 @@ Martin Langhoff with ideas and patches from participants of the git-list . +Monotone adaptation: + Richard Levitte + Documentation -------------- Documentation by Martyn Smith and Martin Langhoff Matthias Urlichs . - -GIT ---- -Part of the gitlink:git[7] suite ============================================================ --- mtn-cvsserver.perl 02f45b17f5dbd6345de409acc85cb5007f1b37ad +++ mtn-cvsserver.perl f23bc929db304b6abf9c9c93da530ad0a5838631 @@ -1,7 +1,9 @@ #!/usr/bin/perl #### -#### This application is a CVS emulation layer for git. +#### This application is a CVS emulation layer for monotone, +#### a bold copy of git-cvsserver.perl and change to fit the +#### new requirements. #### It is intended for clients to connect over SSH. #### See the documentation for more details. #### @@ -10,6 +12,8 @@ #### Authors: Martyn Smith #### Martin Langhoff #### +#### Monotone adaptation: +#### Richard Levitte #### #### Released under the GNU Public License, version 2. ####