Drawings SDK Developer Guide > Using Drawings Revision Control > Overview of DRC
DRC Overview

Overview of Drawings Revision Control

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.

For details on DRC sample applications, refer to Using Sample Applications.

See also:

Copyright © 2002 – 2021. Open Design Alliance. All rights reserved.