Documentation: simpler shared repository creation

Take Johannes Schindelin's suggestions for a further simplification of
the shared repository creation using git --bare init-db --shared, and
for a simplified cvsimport using an existing CVS working directory.

Also insert more man page references.

Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>

 cvs-migration.txt |   27 ++++++++++++++-------------
 1 file changed, 14 insertions(+), 13 deletions(-)
Signed-off-by: Junio C Hamano <junkio@cox.net>
This commit is contained in:
J. Bruce Fields 2006-12-08 22:58:50 -05:00 committed by Junio C Hamano
parent 90ffefe564
commit 4cfeccc75d

View file

@ -43,8 +43,8 @@ Pull: refs/heads/master:refs/remotes/origin/master
------------ ------------
================================ ================================
You can update the shared repository with your changes by first commiting You can update the shared repository with your changes by first committing
your changes, and then using: your changes, and then using the gitlink:git-push[1] command:
------------------------------------------------ ------------------------------------------------
$ git push origin master $ git push origin master
@ -76,11 +76,15 @@ possibly created from scratch or from a tarball (see the
link:tutorial.html[tutorial]), or imported from an already existing CVS link:tutorial.html[tutorial]), or imported from an already existing CVS
repository (see the next section). repository (see the next section).
If your project's working directory is /home/alice/myproject, you can Assume your existing repo is at /home/alice/myproject. Create a new "bare"
create a shared repository at /pub/repo.git with: repository (a repository without a working tree) and fetch your project into
it:
------------------------------------------------ ------------------------------------------------
$ git clone -bare /home/alice/myproject /pub/repo.git $ mkdir /pub/my-repo.git
$ cd /pub/my-repo.git
$ git --bare init-db --shared
$ git --bare fetch /home/alice/myproject master:master
------------------------------------------------ ------------------------------------------------
Next, give every team member read/write access to this repository. One Next, give every team member read/write access to this repository. One
@ -93,10 +97,7 @@ Put all the committers in the same group, and make the repository
writable by that group: writable by that group:
------------------------------------------------ ------------------------------------------------
$ cd /pub $ chgrp -R $group /pub/my-repo.git
$ chgrp -R $group repo.git
$ find repo.git -mindepth 1 -type d |xargs chmod ug+rwx,g+s
$ GIT_DIR=repo.git git repo-config core.sharedrepository true
------------------------------------------------ ------------------------------------------------
Make sure committers have a umask of at most 027, so that the directories Make sure committers have a umask of at most 027, so that the directories
@ -107,15 +108,15 @@ Importing a CVS archive
First, install version 2.1 or higher of cvsps from First, install version 2.1 or higher of cvsps from
link:http://www.cobite.com/cvsps/[http://www.cobite.com/cvsps/] and make link:http://www.cobite.com/cvsps/[http://www.cobite.com/cvsps/] and make
sure it is in your path. The magic command line is then sure it is in your path. Then cd to a checked out CVS working directory
of the project you are interested in and run gitlink:git-cvsimport[1]:
------------------------------------------- -------------------------------------------
$ git cvsimport -v -d <cvsroot> -C <destination> <module> $ git cvsimport -C <destination>
------------------------------------------- -------------------------------------------
This puts a git archive of the named CVS module in the directory This puts a git archive of the named CVS module in the directory
<destination>, which will be created if necessary. The -v option makes <destination>, which will be created if necessary.
the conversion script very chatty.
The import checks out from CVS every revision of every file. Reportedly The import checks out from CVS every revision of every file. Reportedly
cvsimport can average some twenty revisions per second, so for a cvsimport can average some twenty revisions per second, so for a