Nodeid vs changeset ID

Adrian Buehlmann adrian at cadifra.com
Sat Jul 9 22:23:58 UTC 2011


On 2011-07-09 22:26, Chris Sutton wrote:
> I've been reading through the documentation
> on http://mercurial.selenic.com/wiki and I don't quite understand the
> difference between the nodeid and the changeset ID.
> 
> The changeset ID clearly points to the 40 chararacter hex identifier
> that is associated with a changeset
> - http://mercurial.selenic.com/wiki/ChangeSetID. But the page says
> "Technically, a changeset ID is a nodeid."
> 
> The nodeid also is a 40 character hex identifier
> - http://mercurial.selenic.com/wiki/Nodeid. I see that the nodeid is
> used in the revlog, but there is no mention of a changeset ID at this
> level.

..

> So the nodeid seems to be a more generic category of identifier
> which the changeset ID is a kind of?

I'd say so.

> Also, why is the nodeid one word all lowercase and changeset ID has a
> space and all caps ID? Seems like a fairly arbitrary naming difference.
> 
> I'm working to understand Mercurial at a deeper level and thought I
> would start here. Any clarification of the differences is appreciated.

I'd say the changelog is a revlog, and nodeid's in the changelog are
changeset ID's.

These links might be helpful:

http://hgbook.red-bean.com/read/behind-the-scenes.html
http://mercurial.selenic.com/wiki/Design
http://mercurial.selenic.com/wiki/Presentations?action=AttachFile&do=view&target=ols-mercurial-paper.pdf




More information about the Mercurial mailing list