Merge branch 'ml/cvs' into next
* ml/cvs: Introducing git-cvsserver -- a CVS emulator for git.
This commit is contained in:
commit
a35ed7cbd1
89
Documentation/git-cvsserver.txt
Normal file
89
Documentation/git-cvsserver.txt
Normal file
@ -0,0 +1,89 @@
|
|||||||
|
git-cvsserver(1)
|
||||||
|
================
|
||||||
|
|
||||||
|
NAME
|
||||||
|
----
|
||||||
|
git-cvsserver - A CVS server emulator for git
|
||||||
|
|
||||||
|
|
||||||
|
SYNOPSIS
|
||||||
|
--------
|
||||||
|
[verse]
|
||||||
|
export CVS_SERVER=git-cvsserver
|
||||||
|
'cvs' -d :ext:user@server/path/repo.git co <HEAD_name>
|
||||||
|
|
||||||
|
|
||||||
|
DESCRIPTION
|
||||||
|
-----------
|
||||||
|
|
||||||
|
This application is a CVS emulation layer for git.
|
||||||
|
|
||||||
|
It is highly functional. However, not all methods are implemented,
|
||||||
|
and for those methods that are implemented,
|
||||||
|
not all switches are implemented.
|
||||||
|
|
||||||
|
Testing has been done using both the CLI CVS client, and the Eclipse CVS
|
||||||
|
plugin. Most functionality works fine with both of these clients.
|
||||||
|
|
||||||
|
LIMITATIONS
|
||||||
|
-----------
|
||||||
|
Currently gitcvs only works over ssh connections.
|
||||||
|
|
||||||
|
|
||||||
|
INSTALLATION
|
||||||
|
------------
|
||||||
|
1. Put server.pl somewhere useful on the same machine that is hosting your git repos
|
||||||
|
|
||||||
|
2. For each repo that you want accessible from CVS you need to edit config in
|
||||||
|
the repo and add the following section.
|
||||||
|
|
||||||
|
[gitcvs]
|
||||||
|
enabled=1
|
||||||
|
logfile=/path/to/logfile
|
||||||
|
|
||||||
|
n.b. you need to ensure each user that is going to invoke server.pl has
|
||||||
|
write access to the log file.
|
||||||
|
|
||||||
|
5. On each 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.
|
||||||
|
CVS_SERVER should be set to the server.pl script that has been put on the
|
||||||
|
remote machine.
|
||||||
|
|
||||||
|
6. Clients should now be able to check out modules (where modules are the names
|
||||||
|
of branches in git).
|
||||||
|
$ cvs co -d mylocaldir master
|
||||||
|
|
||||||
|
Operations supported
|
||||||
|
--------------------
|
||||||
|
|
||||||
|
All the operations required for normal use are supported, including
|
||||||
|
checkout, diff, status, update, log, add, remove, commit.
|
||||||
|
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.
|
||||||
|
No keyword expansion or newline munging is supported.
|
||||||
|
|
||||||
|
Dependencies
|
||||||
|
------------
|
||||||
|
|
||||||
|
git-cvsserver depends on DBD::SQLite.
|
||||||
|
|
||||||
|
Copyright and Authors
|
||||||
|
---------------------
|
||||||
|
|
||||||
|
This program is copyright The Open University UK - 2006.
|
||||||
|
|
||||||
|
Authors: Martyn Smith <martyn@catalyst.net.nz>
|
||||||
|
Martin Langhoff <martin@catalyst.net.nz>
|
||||||
|
with ideas and patches from participants of the git-list <git@vger.kernel.org>.
|
||||||
|
|
||||||
|
Documentation
|
||||||
|
--------------
|
||||||
|
Documentation by Martyn Smith <martyn@catalyst.net.nz> and Martin Langhoff <martin@catalyst.net.nz>Matthias Urlichs <smurf@smurf.noris.de>.
|
||||||
|
|
||||||
|
GIT
|
||||||
|
---
|
||||||
|
Part of the gitlink:git[7] suite
|
2
Makefile
2
Makefile
@ -130,7 +130,7 @@ SCRIPT_SH = \
|
|||||||
SCRIPT_PERL = \
|
SCRIPT_PERL = \
|
||||||
git-archimport.perl git-cvsimport.perl git-relink.perl \
|
git-archimport.perl git-cvsimport.perl git-relink.perl \
|
||||||
git-shortlog.perl git-fmt-merge-msg.perl git-rerere.perl \
|
git-shortlog.perl git-fmt-merge-msg.perl git-rerere.perl \
|
||||||
git-annotate.perl \
|
git-annotate.perl git-cvsserver.perl \
|
||||||
git-svnimport.perl git-mv.perl git-cvsexportcommit.perl
|
git-svnimport.perl git-mv.perl git-cvsexportcommit.perl
|
||||||
|
|
||||||
SCRIPT_PYTHON = \
|
SCRIPT_PYTHON = \
|
||||||
|
2449
git-cvsserver.perl
Executable file
2449
git-cvsserver.perl
Executable file
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user