Hi Guido, *, On Thu, Jul 30, 2009 at 12:00 AM, Guido Ostkamp<[email protected]> wrote: > > you always > have to clone the whole repo [...] > > This costs tons of additional disk space and CPU time because you have to > rebuild everything from the ground up
This is not true for any filesystem that supports hardlinks. Do a clone only, then an update. Only when you don't clone it completely, you have to rebuild everything (and indeed, that is rather slow, and furthermore you won't have history for anything that happened after the revision you based your clone on, so this is not what you usually want). But again: Cloning is fast when using hardlinks and cloning the full repo. Also it then doesn't need much diskspace either. If you trust your editors/other tools, you can even use hardlinks for the files under version control, not only fo the repository's data. So use hg clone -U and then update (repo-only (-U) for a "fresh" tree, if you intend to merge/switch, then copy all (leave out -U)). Don't use hg clone -r <revision>. Switching/merging/updating trees is rather fast then. > Even the repo history must be duplicated in Mercurial if the clone is not to > be placed on the same physical filesystem because the hardlinks don't work > in this case (which requires n times the storage). This is true, but is this really relevant? > Furthermore you would possibly need multiple repository clones to keep track > of several remote branches in Mercurial. > > With Git you can follow multiple remote branches in just one repo, you can > setup cheap branches which can be completely removed from history (when > everything is integrated upstream) and you can have one base-repo somewhere > in your filesystem and multiple clones elsewhere which just reference the > base repo without copying it. Well, the clones are references to the base as well, so you can pull from that base withoutt problem, so in fact having one base-repo and several slave-clones is the default in mercurial. (And I really hope OOo will continue to have just one master server, with cws code checked in early, and not having a magnitude of individual servers that drift away significantly. If I have to pull from some other repo than the main OOo one, I'd be very disappointed) ciao Christian --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
