Guido Ostkamp <ooo <at> ostkamp.fastmail.fm> writes:

> Mercurial lacks support for cheap inline feature branching and you always 
> have to clone the whole repo (note that I do not mean 'named branches' in 
> a single repo which Mercurial supports because those cannot be removed 
> from history anymore and they also would be pushed if you push from the 
> repo).

Thats very misleading:
- You do not have to use named branches, simply commiting on an older revision
  creates an anonymous branch.
- You can selectively push/pull branches (thereby "removing them from history"
  as much as is possible in _any_ DSCM)
- If you need to "rewrite history" (which is a bad idea in almost all cases
  anyway) you can again do this easily with the mq extension


> This costs tons of additional disk space and CPU time because you have to 
> rebuild everything from the ground up (object files, executables, 
> libraries etc.) as a feature branch (you call it CWS) always means a 
> separate new directory tree in Mercurial.
Not needed. In fact I just did a build of a master and a cws reusing most of the
master build just today. Works like a charm.

> With Git you can switch from one branch to another one and ...
.. you can do just the same with mercurial.

> 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).
If you really want to, you can keep all you cws in one repo (its just easier
to keep them separate). So this is again missing the point.
 
> Furthermore you would possibly need multiple repository clones to keep 
> track of several remote branches in Mercurial.
Wrong again.

> With Git you can follow multiple remote branches in just one repo ...
... as you can with mercurial.

> setup cheap branches which can be completely removed from history (when 
> everything is integrated upstream) 
... as you can with mercurial (by selective pulling/pushing)

> and you can have one base-repo 
> somewhere in your filesystem and multiple clones elsewhere which just 
> reference the base repo without copying it.
Irrelevant given the size of a mercurial repo to the size of working copy
(including solver etc.)


Have Fun,

Bjoern


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to