Drawings Revision Control (DRC) provides an API that performs standard version
control operations, such as check out, commit, merge, update to revisions, etc.
The key features of the new mechanism are an object schema and a branching
model similar to that used by Git. The object schema is used to:
Intelligently merge independent changes in the same object.
Compress several past states of an object, so that only differences are
stored in the file.
Same as in Git, a DRC database is a content addressed system, that is, each
object state, when saved in the database, receives a unique identifier calculated
from the object content. This calculation is platform and client independent,
which helps with merging changes made by different clients. No changes will
be lost, and it is always possible to inspect any pre-merge state.
Each commit object effectively contains a snapshot of the database state at
the moment of commit. A commit consists of a checksum of a database object itself,
schema, class map and a handle tree. A handle tree is stored as a map: handle
-> SHA1 (identifying object data).
This structure makes it easy to compare revisions and helps with merges too.
Drawings Revision Control API is quite simple and straight-forward. Mostly it
reflects all operations typical for revision control systems, such as commit,
merge, and checkout.
Header Files, Compiled Binaries and Samples
Header files required to build a Drawings Revision Control application are located in the Drawing/Include/Tf folder.
Compiled binaries reside in the exe/<configuration> folder.