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.
Community comments
what's the benefit over git or hg?
by monser corp,
Re: what's the benefit over git or hg?
by Olivier Hubaut,
Wow...
by Mark Gadsby,
Worth watching
by Mike Gale,
Interesting Concept
by Tim Ryan,
what's the benefit over git or hg?
by monser corp,
Your message is awaiting moderation. Thank you for participating in the discussion.
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,
Your message is awaiting moderation. Thank you for participating in the discussion.
..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,
Your message is awaiting moderation. Thank you for participating in the discussion.
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,
Your message is awaiting moderation. Thank you for participating in the discussion.
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,
Your message is awaiting moderation. Thank you for participating in the discussion.
Well, I can see right now at least 3 main advantages that they could benefit over both Hg and git: