Object-Version Identifiers and Internal Object-Version Identifiers

Each Repository object version has an identifier called the object-version identifier that distinguishes it from all other Repository objects represented in all other Repository databases. The object-version identifier has the following format.

The first 16 bytes of each object-version identifier constitute a globally unique identifier (or GUID). The next 4 bytes constitute a local identifier. Note that the local identifier of a Repository object version does not equal the local identifier of the more general Repository object.

Each Repository object version also has an internal object-version identifier that distinguishes it from every other object version within the same Repository database. The internal object-version identifier is a 16-byte quantity of the following form.

The first 4 bytes constitute a site identifier (site ID). The next 4 bytes constitute the local identifier (local ID) of the Repository object. The next 4 bytes constitute a branch identifier (branch ID); a branch is a portion of a version graph. The next 4 bytes constitute a version-within-branch identifier.

The first 8 bytes make up the internal identifier of the Repository object. The next 8 bytes make up a version identifier.