BT

Veracity, a New DVCS Based on a Distributed Database

by Abel Avram on Jul 19, 2011 |

Veracity is a DVCS that can be installed on Windows, Mac, and Linux, and uses a distributed database for its repository.

Veracity is a relatively new Distributed Version Control System (DVCS) that has been in tests for more than a year, and now version 0.9.1 made its debut as “ready to use.” Veracity is similar to Git or Mercurial in many ways, but there are some differences. We talked to Eric Sink, the founder of SourceGear, the company behind Veracity, and he said that their DVCS supports a decentralized database:

A unique feature of Veracity is its "decentralized database". Most version control tools are designed to manage data which is file system-oriented, directories and files. Veracity can do this as well, but it also has the ability to manage data which is database-oriented, records and fields.

Just as it does with file system data, Veracity's decentralized database keeps the full history of the database. Every version of every record is retained in history, with log information about who made the change and when. Veracity also supports push and pull of "database changesets", including the ability to automatically merge (at the level of a record or of a field) and resolve constraint violations.

This capability is what allows this database to be "decentralized".

Users can choose various databases for their Veracity repository, as Sink explains:

Veracity communicates with repository instances through an API which hides all the details of how things are stored. The intent here is that Veracity users can choose how their repository is stored. The current version of Veracity supports only one of these "repository storage plugins", called FS3. This implementation stores blob data in files (up to 1 GB of blobs in each data file) and uses a SQLite database to keep track of where everything is.

We have prototypes of storage layers which keep everything in an enterprise SQL database. These kinds of things will be available from SourceGear in the future. Some of them may be proprietary rather than open source.

Veracity supports clone/push/pull between repository instances even if those instances are running different implementations of the storage layer. So for example, it would be possible for a Veracity team to run a central server which keeps a repository instance in an Oracle database (if/when we have an Oracle implementation) while configuring all the developer desktops to use FS3.

Veracity was written in C and JavaScript, and it was built with CMake, and there are binaries for Windows, Mac, and Linux. The code was open sourced under the Apache 2 license. A public repository is available for those interested to see how its client interface looks like.

There is still work to do, such as integrating it with Visual Studio and Eclipse, adding fast import/export, sub-modules, wiki and others, but Sink says Veracity’s code is stable enough that future versions will be compatible with the current repository. Version 1.0 will be released during OSCON 2011 taking place in a week.

As a note, SourceGear created Vault, a Windows-centric version control system designed to replace Microsoft’s SourceSafe.

Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Tell us what you think

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

what's the benefit over git or hg? by monser corp

both are popular enough and if the new comer does not come with good enough feature, how does it survive to 1.5?

Wow... by Mark Gadsby

..I think he's just invented Lotus Notes :-)

"Just as it does with file system data, Veracity's decentralized database keeps the full history of the database. Every version of every record is retained in history, with log information about who made the change and when. Veracity also supports push and pull of "database changesets", including the ability to automatically merge (at the level of a record or of a field) and resolve constraint violations."

Worth watching by Mike Gale

Time will tell if this does well. From past observation Eric is extremely good at figuring out what users what from version control. The work that Source Gear does also strikes me as being well built. (Eric has been in the game a long time including work on some of the earliest browsers!)

This "late Beta" release seems squarely aimed at non-Windows / VS users. Take a look at what's needed to compile it on Visual Studio. Not terribly hard but some unexpected hoops to jump through, like loading Cygwin! I hope that version 1, just works with Visual Studio.

Interesting Concept by Tim Ryan

It would be great to also have a write up on another DVCS called Fossil (www.fossil-scm.org) that is super simple to install (single executable), built-in web server, wiki, ticketing system and storage in a Sqlite db.

I have moved all of my systems from Hg to fossil and it is great.

There are lots of innovative options out there.

Re: what's the benefit over git or hg? by Olivier Hubaut

Well, I can see right now at least 3 main advantages that they could benefit over both Hg and git:

  • Integrated bug tracking. This solve the common issue of de-synchronization between what's in the repository and what's described in the bug tracker.

  • File locking. Might sounds like an heresy at first glance, but is VERY useful when working on assets that cannot be merged.

  • Focus on large binaries from the start. While it is not mentioned in this article nor in the chart, it is something that was one of their key feature when they started Veracity. It is somehow related with the file locking, as these kind of feature are what is preventing Hg, git, bazaar on any other current DVCS to be popular in some areas, like game development.

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

5 Discuss

Educational Content

General Feedback
Bugs
Advertising
Editorial
InfoQ.com and all content copyright © 2006-2014 C4Media Inc. InfoQ.com hosted at Contegix, the best ISP we've ever worked with.
Privacy policy
BT