Please validate this repository configuration
Mads Kiilerich
mads at kiilerich.com
Wed Jun 27 06:32:43 UTC 2007
Matt Culbreth wrote, On 06/26/2007 11:10 PM:
> Howdy Group,
>
> I'm new to Mercurial and I'd appreciate a quick validation that I'm
> starting things out more or less correctly.
>
> Salient facts:
> 1. We're a small group of 3-6 developers working on a new software
> product. We're using Mercurial 0.94.
> 2. We'll have the main product, demos, POCs, test projects, utils, etc.
> 3. Each developer works on his own repository on his machine and
> then occasionally will publish the repository to a common web server.
> 4. On the web server I'm using the hgwebdir.cgi script. I've got
> the following repository pattern:
> http://<domain>/hg
> http://<domain>/hg/developer1
> http://<domain>/hg/developer2
> http://<domain>/hg/developer3
> http://<domain>/hg/common
> 5. My thought is that each developer would occasionally post a
> changset to their repository. Occasionally we'd pull from these and
> create a common release (a customer release, a demo, etc.) and we'd
> put that in the "common" repository.
We use a similar setup, but we see it the way that developers have local
repos, but each of them have default-push to its own corresponding repo
on the server. Developers push regularly - at least once a day, before
going home. The server with the repos is backed up, developers machines
are not. These server repos are work-in-progress. There is usually no
reason to pull from the server repo because there is only one writer to
it. But it is of course possible to pull from any server repo.
For each project there is a shared (=common) server repo with
high-quality changes ready for common use. All developer repos are
configured to default to its shared repo. Developers regularly pull from
the default repo. When projects/changes in local repos are finished the
developer pushes it to the shared repo.
But I think we should give the shared repos an owner who is responsible
for pulling and reviewing and changesets from other developers, similar
to how Michael Smith suggests.
> 6. Can each developer create subfolders as desired underneath their
> folder? Can this be done via the 'hg' command or do they need root
> access to the web server?
The new repos can be created with
hg clone projectX ssh://user@<domain>/hg/developer1/projectX
Unfortunately I don't think you can create new repos over the http
protocol. For that reason we use ssh instead of http (or actually a mix).
> Is this more or less standard with the way you guys are doing it? I'm
> new to the distributed way of doing things so if this isn't the best
> way to go I'd like to change it early.
Mercurial can be used in many ways, so it really depends on which way
that fits your processes and workflows best. The "standard" way is
probably more "open source project with unknown developers", and a setup
optimized for that would probably be a bad fit for your needs.
/Mads
More information about the Mercurial
mailing list