Each history file contains it&#x27;s internal name, much like a file system has an inode # that is the internal name for that file.  We call the names &quot;keys&quot; and you can dig out the inode key like so (every delta has a key, the first delta is called the rootkey):<p><pre><code>    $ bk log -nd:ROOTKEY: -r+ slib.c
    lm@bitmover.com|src&#x2F;slib.c|19970518232928|52808|f3733b2c327712e5
</code></pre>
The key is user@host|relative path|UTC|checksum|64 bits of &#x2F;dev&#x2F;random 
and they are guaranteed to be unique if your DNS config is correct (we don&#x27;t create duplicate keys, look for the uniq db in the code).<p>The way we version the entire tree is simple, it&#x27;s logically (implemented differently for performance):<p><pre><code>    &lt;rootkey&gt; &lt;delta key&gt;
    &lt;rootkey&gt; &lt;delta key&gt;
    ...
</code></pre>
where each rootkey uniquely identifies a file and each delta key identifies the tip as of that commit.<p>Not sure if that is clear enough or not, ask away if not.