hg, git, fossil, ...
Marko Rauhamaa
marko at pacujo.net
Thu Aug 28 01:58:17 EDT 2014
Skip Montanaro <skip at pobox.com>:
> The "simple hg commands" are generally not all that different (in my
> limited experience) than the "simple git commands," for some
> definition of "simple." Stuff like clone, init, push, pull, commit,
> the small number of commands you use day in, day out. When you get
> beyond that simple core, both are confusing to me.
I don't think a working VC system needs to contain much more than that.
Hg stays closer to the simple ideal than git, which really fails at
being a black box. I don't see why git has staging or branches, for
example. Or why can't I revert my changes to a file easily?
The main problem with hg (and git) is the way cherrypicking is done.
See these graphics:
[1] Product-Ver1
|
| bugfix
|
V feature development
Product-Ver1' ----------------------> Product-Ver2'
feature development
[2] Product-Ver1 -----------------------> Product-Ver2
|
| bugfix
|
cherry-picking V
Product-Ver1' <---------------------- Product-Ver2'
My beef is this: The starting point and end result of [1] and [2] is
identical. The version histories of Product-Ver1' and Product-Ver2'
should usually also be identical. In hg and git, they are not. In CVS,
they are not. In SVN, they are not.
In TeamWare (and bitkeeper?), the version histories are identical.
Marko
More information about the Python-list
mailing list