Browse Prior Art Database

Replication Mechanism for a Distributed Version Control System

IP.com Disclosure Number: IPCOM000225058D
Original Publication Date: 2013-Jan-23
Included in the Prior Art Database: 2013-Jan-23
Document File: 1 page(s) / 58K

Publishing Venue

Linux Defenders

Related People

Donald B. Marti Jr.: AUTHOR

Abstract

Disclosed is a mechanism for replication of content repositories of a distributed version control system (DVCS), which is unique in that objects and branch references are transferred between nodes by independent means, with only branch references subject to synchronization among nodes. The object of this disclosure is to simplify deployment of a DVCS in a replicated configuration. Replication can be performed efficiently by transferring objects using a key-value store, such as a distributed hash table (DHT), independently of a repository's branch references, which are transferred using a synchronized data store.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 51% of the total text.

Page 01 of 1

Replication Mechanism for a Distributed Version Control System

Disclosed is a mechanism for replication of content repositories of a distributed version control system (DVCS), which is unique in that objects and branch references are transferred between nodes by independent means, with only branch references subject to synchronization among nodes. The object of this disclosure is to simplify deployment of a DVCS in a replicated configuration. Replication can be performed e˚ciently by transferring objects using a key- value store, such as a distributed hash table (DHT), independently of a repository's branch references, which are transferred using a synchronized data store.

The method begins with a push to a DVCS repository located on one of a plurality of server nodes. For each branch updated by the push, the current branch reference in the DVCS repository is compared to the current branch reference stored in an instance of a synchronized data store.

If the current branch reference in the DVCS repository matches the current branch reference in the synchronized data store, the system attempts to update the branch reference in the synchronized data store to match the branch reference in the push. If this update is successful, the system allows the push to complete normally. Otherwise, the system rejects the push. All other built-in and user-defined restrictions on the push can also be enforced.

The system transfers incoming objects from the push into a key-value store available to the other server nodes. Each node on which a branch reference in the synchronized data store is di˙erent from the corresponding branch reference in the corresponding local DVCS repository recursively fetches the required o...