20 Apr
Switching from VCS, DVCS
Author: RussellHello,
I originally started to write this for a post in a closed, Open University forum for TT381 (Open Source Development Tools, part of Web Applications Development qualification). I wanted to widen the audience. So apologies if it reads a little odd for a web post. I don’t have time to rewrite it.
I was just wondering what version control system (or systems) you use at work, and if you have thought about how your ways of working, branching and migration of changes would map onto a DVCS, like GIT if your using a VCS like Subversion of CVS. Or maybe how a VCS would be used if you use a DVCS and had to switch back).
Last night I went to bed pondering how we do things at work using Subversion, and how I would be able to use GIT to achieve the same. We have a very prescribed way of managing changes, including when we move them. (Testing and other parts of life cycle need to be synced)
I had to setup the way we use subversion to accomplish the way the company wanted to work. I know it’s the simplest way we could setup Subversion, but it’s slightly unconventional. We don’t merge al changes back to a main trunk, and if I was to spend the time explaining you would see why.We have to use a very targeted management change, so working on a branch and merging it back to main trunk doesn’t work for a few reasons. We have to be able to tailor whats on a branch.
The up shot is, having proved for myself the way we use Subversion at work is probably the only way we could use it. This is based on considering the existing way is simple and effective, and that a better way of doing it would involve more complexity, and therefore more understanding and commitment from the rest of the team.
We could map the same way of working onto a DVCS, in this case GIT, very easily. And it would make migration of change operations allot quicker, simpler and easier. It would be easy to use a main trunk rather than successive branches.
So, my question is, would using a DVCS like GIT (pick your own poison here, Mercurial etc), improve your way of software development?
The only problem we would have is, that we have to have a custom made interface for our version control system, and switching is an effort. Creation of a new front end would take too much development time out and we have too many real world projects. Then the planning and switch over would incurr another over head and affect the whole team. So at least whilst writing the new GUI it’s just me offline for projects. Then there is the bedding in and ironing out of issues once we have switched. Of course not forgetting all that training.
Russell
Filed under: Software Development

