Distributed version control (DVCS)

Plastic SCM is one of the few full-featured distributed version control systems (DVCS) on the market. Distributed development opens up ways for teams to collaborate that were not possible before. It means minimizing remote offices’ dependency on Internet reliability, so that you can work even without a connection, and it means that you have the version control always available, even when you’re working on your laptop on a beach in the Bahamas. (Though why are you working on vacation??)

Distributed development in Plastic SCM is about pushing and pulling branches (i.e. “replicating”) between remote servers. This method of fully distributed development easily allows multiple sites to work on the same codebase.

Development at multiple sites

Developers hate waiting, and Internet connections are still not as reliable and fast as they should be. That's why it makes sense for distant teams to each have their own Plastic SCM servers, enabling developers to work locally with no slowdowns or network issues. The multiple sites can regularly exchange branches, to keep them synchronized.

Plastic SCM multisite replication scenario

Fully distributed development

Git-like replication with Plastic SCM As a full-featured DVCS, Plastic SCM can go further and have a repository server on each developer's machine. So every team member can go disconnected and synchronize on demand. It's very useful when you want to work at home, or you perform a quick fix at a customer site, or you simply don't want to rely on the network for every SCM operation you perform.

GUI-based DVCS

Like everything else in Plastic SCM, branch replication has an easy point-and-click interface:

GUI based DVCS

The CLI includes a "replicate" command, too, enabling you to create automated push and pull procedures.

 

Make sure you have a true DVCS!

It's inevitable that with the great popularity of distributed development, every version control system claims it's distributed. But only a few systems are. Being connected to a remote server is not distributed development -- it's long-distance calling. Using a local proxy server is not distributed development, either ( although Plastic SCM supports that, too).

Here's the test of a true DVCS: unplug the network cable and try doing a checkin. You can do that with Plastic SCM and a local repository server on your laptop!

Simply put: CVS, SVN, VSS, Perforce, Accurev, and many others are not true DVCSs; Plastic SCM is a true DVCS. (Git and Mercurial are, too.)