Mostrando postagens com marcador version control. Mostrar todas as postagens
Mostrando postagens com marcador version control. Mostrar todas as postagens

segunda-feira, 22 de fevereiro de 2010

Branch per feature

Last Friday I have read an article from Mr. Martin Fowler about VCS, focusing in Distributed Version Control System. Although it is an interesting topic, I guess it is a kind of technical discussion if it should distribute or not.
Before someone wants to shoot me, I know that there are advantages over a central system, but the point is that I don't want to highlight it here.

Actually it is much more interesting all the patterns that emerged with this kind of VCS, not because they didn't existed, just because the DVCS makes then simple. So ladies and gentlemen I would like to introduce you the amazing Spider-man!!! Ops… wrong introduction… I would like to introduce you the Feature Branch technique (a.k.a Branch-Per-Feature).

The main idea of this technique is: every new Feature of your software becomes a branch in the version control system, and as soon as this feature is implemented the branch is merged to the baseline. Simple isn't it? There are quite few advantages in this technique, the main one (in my point of view) is that you can release the software with the desired features as soon as they are available.
For example, if you have 3 features on the go, but one of them is important and should be released right now then, just merge it to the baseline and you are ready; the other features are no impacted and your delivery do not need to wait for that.

I don't need to say that to have it working like a charm, continuous integration is a must.

There are two really good articles about it, the first is an introduction about it by Martin Fowler and the second is a How-To about implementing this kind of technique.


I really got enthusiastic about this kind of source control technique, it is really usefull if you are interested in selling services and not software, so for you last minute services are almost a must.

Have a nice week.

sábado, 11 de outubro de 2008

Where can I store my project?

Must of us have small projects in mind, something that could be done in our free time. The purposes for this kind of project maybe as big as the universe, but basically we always face with some new technology or things like that.
Anyway one of the requirements is where to store it? How do I control bug tracking? And mainly, is there any free place that I can have all of it?
The awnser is YES, there is!

If you search for it you will find a lot of places, but I have been working with two of them. Assembla and Incubadora FAPESP. The second one is for academic and open project, it offers a lot of tools for knowledge publishing.
The first one can be used for your personal projects, as for your open source projects. Assembla uses Subversion, Trac and offers a wiki engine for your project pages, in fact it is available a set of webservices that allow you to integrate it with your automated stuffs, like for example your CI server.

It is worth to take a look at Assembla, it is a good place to store you project. Of course if you want more advanced stuffs you can go for the payed version, although I couldn't find any necessity yet.

Have a nice project.