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: from minimizing remote offices' dependency on Internet reliability to having the version control always available, even when you're working on a laptop in the middle of nowhere.

Distributed development in Plastic SCM is about pushing and pulling (or "replicating") branches between remote servers. The two scenarios mentioned above are worth describing some more, since they are the main reasons for distributed development's great popularity nowadays.

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.)