This link has been bookmarked by 55 people . It was first bookmarked on 08 Apr 2008, by Avdi Grimm.
-
21 Jan 12
-
And I believe this is where mercurial has gone wrong. A head in mercurial is inferred... it's just a point on the DAG where there are no children. A branch is inferred to be inactive when it's not a head.
-
Contrast to git where all heads are explicit. A tag or a branch points to a particular node in the graph, and there are tools to compare the changes between two nodes. This is obviously right for tags, but it's also really nice for heads. You can simply dump mass changesets into another repo (for example in a mob branch), but only include heads you feel are worth noting. It's this distinction that allows for private branches.
-
The culture of mercurial is one of immutability
-
git is all about manipulating history
-
named branches are flawed
-
In mercurial, every changeset belongs to a named branch. That is, the branch name is stored in the changeset. The flaw is that it's quite easy to have more than one branch with the same name, and it's difficult to tell when this has happened. This can cause confusion in a team where one is left wondering what changes, exactly, have made it into the
stable
branch when multiple people have reopened and merged the branch on different timelines. -
In git, a branch is just a head
-
Although mercurial may still feel nicer today, the change feels inevitable.
-
-
23 Nov 11
carlos puentesI realized recently that I've been using distributed revision control for several years now. It's always been an exciting landscape for me, although it's been a bit lonely. I used gnu arch for most of my code for a long time, and dabbled some in darcs at the same time. It wasn't until I saw Brian O'Sullivan's tech talk on mercurial that I started wondering if my needs weren't being fully met. He showed what mercurial provided that my systems lacked and provided a generally useful tool, so I dove in and enjoyed it greatly.
git mercurial SCM comparison dvcs vcs version-control distributed
-
28 Aug 11
-
mercurial has gone wrong. A head in mercurial is inferred
-
git where all heads are explicit
-
The culture of mercurial is one of immutability
-
git is all about manipulating history.
-
branch name is stored in the changeset. The flaw is that it's quite easy to have more than one branch with the same name, and it's difficult to tell when this has happened.
-
In git, a branch is just a head (see above). Making changes to a branch actually moves the pointer to the new changeset. This head must be explicitly shared across repositories.
-
You won't accidentally push code you don't mean to. You won't have to be reminded of a failed experiment for the rest of your life, and you won't have to fear naming them in such a way that they don't collide with something someone else has done somewhere else.
-
rabid culture surrounding git. mercurial users fairly happily and quietly use their tool, while I've had to send two separate door-to-door git missionaries away today alone
-
Although mercurial may still feel nicer today, the change feels inevitable.
-
-
01 Aug 11
-
28 Jun 11
-
03 Jun 11
-
18 Apr 11
-
02 Apr 11
-
29 Mar 11
-
08 Mar 11
-
14 Dec 10
-
27 Nov 10
-
30 Oct 10
-
09 Oct 10
-
10 Aug 10
-
30 Jun 10
-
04 Jun 10
-
18 Mar 10
-
22 May 09
-
21 Apr 09
-
30 Mar 09
-
16 Feb 09
-
08 Feb 09
-
19 Jan 09
Bosse KlykkenI eventually did start looking at git, only because there were projects to which I contribute that also use git. I've been taking the time to fully understand it and its ways and explored much of its dirty parts (but I'm not quite done yet). So now I feel
-
01 Oct 08
-
28 May 08
-
26 May 08
-
21 Apr 08
-
16 Apr 08
-
12 Apr 08
-
09 Apr 08
-
08 Apr 08
-
The biggest non-technical difference between git and mercurial is the rabid culture surrounding git. mercurial users fairly happily and quietly use their tool, while I've had to send two separate door-to-door git missionaries away today alone.
-
-
07 Apr 08
Would you like to comment?
Join Diigo for a free account, or sign in if you are already a member.