Wednesday, March 22, 2006

Task management for Open Source version control systems

I've been using CM/Synergy as version control system at work. It has a "task-based" approach that differs from likes of SVN in that you "check out" files, and the checkouts are associated with a certain task. An example task would be "Fix syntax highlighting in editor", to which you would check out files and

How is this better than plain old changeset approach, you ask? Well, it makes it easier to perform multiple tasks simultaneously. When you "complete" the aforementioned task, only the files associated with that task (, would be checked in.

It would seem to be rather easy to create a set of scripts that would do the task management over existing VCS's (SVN/BZR/CVS/whatever). Just create a "TASKS.txt" in the version control root and have the scripts edit the file when you check out files to tasks, and also detect when someone is having a file you are editing in one of his tasks. Two flies (locking, task management) with one strike. What's not to love?