Francesco Pretto <ceztkoml@xxxxxxxxx> writes: > More detailed instructions on how to set up shared repositories. > Added a reference to "git for CVS users" doc in git-init manual. > > Signed-off-by: Francesco Pretto <ceztkoml@xxxxxxxxx> > --- > Documentation/cvs-migration.txt | 72 ++++++++++++++++++++++++++++++-------- > Documentation/git-init.txt | 7 ++++ > 2 files changed, 64 insertions(+), 15 deletions(-) > > diff --git a/Documentation/cvs-migration.txt b/Documentation/cvs-migration.txt > index 3b6b494..c92ed49 100644 > --- a/Documentation/cvs-migration.txt > +++ b/Documentation/cvs-migration.txt > @@ -13,12 +13,12 @@ link:tutorial.html[tutorial introduction to git] should be sufficient. > Developing against a shared repository > -------------------------------------- > > -Suppose a shared repository is set up in /pub/repo.git on the host > +Suppose a shared repository is set up in /pub/scm/repo.git on the host > foo.com. Then as an individual committer you can clone the shared > repository over ssh with: > > ------------------------------------------------ > -$ git clone foo.com:/pub/repo.git/ my-project > +$ git clone foo.com:/pub/scm/repo.git/ my-project > $ cd my-project > ------------------------------------------------ This part seems an unnecessary change. > @@ -68,37 +68,79 @@ other than `master`. > Setting Up a Shared Repository > ------------------------------ > > -We assume you have already created a git repository for your project, > -possibly created from scratch or from a tarball (see the > -link:tutorial.html[tutorial]), or imported from an already existing CVS > -repository (see the next section). > +We assume you have admin privilege on the remote machine. Moreover, we assume > +you have already created a git repository for your project, possibly created > +from scratch or from a tarball (see the link:tutorial.html[tutorial]),or > +imported from an already existing CVS repository (see the next section). Don't assume the "admin privilege" part, as you do not have to. You are newly hired to work on project-X, and the sysadm throws you into projectx group. Thesysadm further prepares a directory '/pub/project-X' and makes it mode 2775 (aka ug=rwx,o=rx,g+s). Do you want to create a new repository for projext-X group's use? You do: $ cd /pub/project-X $ GIT_DIR=mine.git git init --shared and you now have a usable /pub/project-X/mine.git repository for project members. I do not think you would need any chmod/chgrp after this step. > +First, let's create a common directory for all the projects you'll want to > +track with git: > + > +----------------------------------------------- > +$ mkdir -p /pub/scm > +----------------------------------------------- An organization may use different SCM depending on the projects' needs, and there is no reason members of projects A and B should be in the same group 'git' while having members of project C in group 'hg' only because A and B happen to use git. It would make more sense to either (1) make members of all three projects belong to 'src' group, or (2) make three groups, one for each project. IOW, I do not think the above is a good suggestion. Also with the "create new --shared repository for the project in a group's directory that has mode 2755" approach, I do not think there is any need to muck with umask either. - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html