===== I have moved on! =====

Please join me at Virtually Lost in the search to find Nirvana using virtualization technologies.

Saturday, December 2, 2006

Using git as a management tool.

We use git a lot. I really love it. One thing that I have been able to do with it is to track each programmer's "drifting away" from the main branch.

We can use this to remind individuals to update the local branch to make sure that they don't drift too far out and that way their commits will have much less chance of conflict. It is also vital for doing structured releases. A release manager using this technique can easily tell if all programmers have commited all relevant code.

Start by cloning the main tree:

cg-clone /main/development/branch <product>
cd <product>
cg-branch-add <programmer name> /programmer/local/branch
cg-fetch <programmer name>
cg-branch-add <programmer2 name> /programmer2/local/branch
cg-fetch <programmer2 name>
and so on
Then use this script for getting and showing where everyone is:

cg-update
cg-fetch <programmer1 name>
cg-fetch <programmer2 name>
...
cg-fetch <programmerN name>
gitk --all
You will visually see where each programmer stands regarding the main branch, and if they need to push their local branches into the main branch for release.