(Traduction du texte original en anglais : Nodeid)
Nodeids
Les nodeids sont des ids uniques qui représentent le contenu des fichiers et leurs positions dans l'historique du projet. Pour le moment, ils sont générés par la fonction de hash SHA1, qui produit 160 bits (40 chiffres hexa). Si on modifie un fichier, valide les changements, et puis qu'on modifie à nouveau ce fichier de manière à récupérer le contenu d'origine, le contenu sera le même mais l'historique sera différent, donc le fichier aura un nouveau nodeid. Cette sensibilité à l'historique est obtenue en calculant le nodeid à partir de la concaténation des nodeids des parents avec le contenu du fichier.
Les nodeids sont présentés à l'utilisateur par des chaînes hexa comme celle-ci :
$ hg id 8d43f8c0b836 tip
Note : La notation courte pour les valeurs de hash SHA1 dans Mercurial est la sous-chaîne des 12 premiers caractères de la représentation en chaîne hexa de la valeur complète du SHA1. La notation courte peut aussi être utilisée dans les lignes de commandes tant qu'il n'existe aucune ambiguïté (voir aussi ChangeSetID).
Le nodeid 00000... est spécial et connu sous le nom de nullid. Il est utilisé pour la racine vide d'une révision. Ce qui permet d'avoir un ancêtre commun vide pour toutes les révisions indépendantes.
Les nodeids sont utilisés dans les revlogs.