Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p>In general I would always go with the distributed version control system (DVCS). I haven't tried mercurial but git; but the premise here is the same.</p> <p>If you use a centralized system you are bound to that structure. If you use a distributed system you are not. But just because you can distribute it you don't have to. If it makes more sense in your team to have a single central repository then do it that way. </p> <p>What you should not underestimate is the power of local branches. Branching in a centralized system is rather cumbersome, developer or feature branches are seldom made. Developers rather have multiple working copies or keep unsafe changes in their working copy, to not break the build. With a decentralized system the developer creates local branch works on it. Interrupted by a show stopper bug, he switches back to the master branch fixes the problem, pushes the changes to the central repository and changes back to his feature branch. The workflow is extremely smooth.</p> <p>Additionally the distributed nature of the system makes it a robust one. If the server is down, it is business as usual for the developers, they can even exchange their changes between each other.</p> <p>Finally developers can take work home, on the plane, on the train or where every they like. They never loose the VCS capability and can make proper commits.</p> <p>The result is that the behavior of the developers in regards to the VCS is defined by company policy, not the technology and you can change you policy at any time you like.</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload