Login   I   Sitemap   I   Contact Us   I   Sales: (US) 1-866-468-5210   (EU) +49-711-67400677
Intland Software - Collaboration Begins Here
Download or Try the fully functional version of codeBeamer. It's free, simple and secure.
codeBeamer is the award winning Collaborative Application Lifecycle Management (ALM) solution for distributed software development.
Project management, wiki, document management, issue tracking, ITIL, continuous integration, version control, source code analysis and forums.

Links

Feeds

Editor Menu

Workflows: centralized versus distributed version control systems

An interesting read: at Why Git is Better Than X (where X is one of hg, bzr, svn and perforce) Scott Chacon maintains a list of reasons why you should switch from your good old version control system to Git, the fast version control system.
While lots of people are talking about "which is the best distributed version control system?", we at Intland find it more interesting to answer the question "how can you improve your business using a distributed version control system?" and "what kind of workflows can you implement on the top of a good DVCS?". That's why we copied the section "Any workflow" here. Please read through Scott's entire site here if interested.

There are multiple key players in the field of DVCS implementations, and we believe that this competition is good for the industry. Having said that, codeBeamer gives you a freedom of the choice: it supports both Git and Mercurial. Give it a try.



Any Workflow
One of the amazing things about Git is that because of its distributed nature and super branching system, you can easily implement pretty much any workflow you can think of relatively easily.

Subversion-Style Workflow
A very common Git workflow, especially from people transitioning from a centralized system, is a centralized workflow. Git will not allow you to push if someone has pushed since the last time you fetched, so a centralized model where all developers push to the same server works just fine.

subversion-style workflow

Integration Manager Workflow
Another common Git workflow is where there is an integration manager—a single person who commits to the 'blessed' repository, and then a number of developers who clone from that repository, push to their own independent repositories and ask the integrator to pull in their changes. This is the type of development model you often see with open source or GitHub repositories.

integration manager workflow

Dictator and Lieutenants Workflow
For more massive projects, you can setup your developers similar to the way the Linux kernel is run, where people are in charge of a
specific subsystem of the project ('lieutenants') and merge in all changes that have to do with that subsystem. Then another integrator
(the 'dictator') can pull changes from only his/her lieutenants and the push to the 'blessed' repository that everyone then clones from
again.

dictator and lieutenants workflow

Again, Git is entirely flexible about this, so you can mix and match and choose the workflow that is right for you.

Comments:

Post a Comment:
  • HTML Syntax: Allowed