Google code issue tracker integration with version control using git commit template

I’m using google code for one of my open source project. And I think it is definitively a good code site.

All open source community code site have its pros and cons (I’ve tried a lot of them sourceforge, github, jboss.org, google code etc), and every one have some beautiful unique feature. But one of my most loved feature is definitively google code’s integration of issue tracker and version control. In a nutshell it permit to create, update and close issues just adding some keyword on your commit.

It’s great in general, but it’s really amazing if you are using a distributed Version Control. And I’m using git for local repository and git-svn to synchronize it with central subversion repository.
Imagine this situation: you are working with your laptop off-line (i.e into an air plane where also GSM connection isn’t available) and you find a bug or you have an idea for an enhancement. What do you do in this case? Of course take care of the bugged code, fix it, write a test for that and then commit it into your git local repository. What is the missing step in this work flow? Of course create an issue into your issue tracker system to keep community up to date, and don’t forget it if you can’t completely finish it now. At this point come very useful the google code feature permitting you to create, update, or fix an issue when you are committing a change.

There is only one problem with this integration: remember the structure the commit message have to fit and all (or at least the most useful) values you can assign to various fields. I’ve solved this problem creating 3 template for the commit messages and I use them with git. Using template during a git commit is very easy: just make a commit like this

git commit -a -t tempalteFile

Git will Use the contents of the given file as the initial version of the commit message. The editor is invoked and you can make subsequent changes. If a message is specified using the -m or -F options, this option has no effect.

Here you have my 3 template file:

NewIssue.tmpl

#commit comment here

#next line doesn't need any number. ssue number will be automaticaly assigned after commit
New issue
#A summary is always needed. Please complete next line
Summary:
#Uncomment the rigt Status
#Status: Accepted
#Status: Fixed
#Status: New
#Uncommet right Labels and/or add labels to the list (comma or space separate)
#Labels: Type-Defect Priority-Medium
#Labels: Type-Defect Priority-High
#Labels: Type-Defect Priority-Critical
#Labels: Type-Enhancement Priority-Medium
#Labels: Type-Enhancement Priority-Low
#Labels: Type-Enhancement Priority-High

#Comment text for the issue tracker goes here

UpdateIssue.tmpl

#commit comment here

#Complete next line with issue number
Update issue
#summary is rarely updated. If you need that uncomment and complete next line
#Summary:
#Uncomment the new Status you would get your issue. No uncomment status will keep the previous status
#Status: Accepted
#Status: Fixed
#Status: New
#Uncommet Labels and/or add labels to the list (comma or space separate) if you want update/add Labels
#Labels: Type-Defect Priority-Medium
#Labels: Type-Defect Priority-High
#Labels: Type-Defect Priority-Critical
#Labels: Type-Enhancement Priority-Medium
#Labels: Type-Enhancement Priority-Low
#Labels: Type-Enhancement Priority-High

#Comment text for the issue tracker goes here

FixIssue.tmpl

#commit comment here

#Complete next line with issue number
Fixes issue

#Comment text for the issue tracker goes here

The same thing should be possible also with svn and other SCM.

Hoping it could help some other people enjoying this google code feature developing open source code during their trips :)

Have fun!

JBossWS and Apache CXF collaboration

I’ve just pubblished a post on the JBosWS blog regarding the JBossWS involvement in the Apache CXF project. In few words, the JBossWS team is increasing its collaboration with the CXF developers, the target being to improve both projects.

It’s not that simple to achieve an active bi-directional collaboration, with both parties’ needs being considered, but this is working quite well now. For instance, read what Daniel Kulp (CXF lead) writes about the collaboration. Needless to say I like this, that’s a nice example of what open source can make possible.

Open source is matter of ideas not of software

Hi all,
A long silence from me here.

I’m sorry for that but time is very very few. It is one of the reason I’m twitting more than blogging. Twitter require a lot lesser time than blogging. I’m loving it men! It make possible to write some notes without wasting a lot of time in a blog post and it’s very very effective in terms of feedbacks and information exchange.
But I’m not here to describe all the resons I’m loving twitter.
I’m here to say I have no time :) . A little counter sense wasting time in a blog post to say I haven’t time to waste :) . But counter senses are fun because drive us to think different, open the mind and ask our selves where is the real problem.
I have no time for what?
To realize my ideas. I have a lot of ideas (as all people have, I’m sure of that), but it seems I haven’t time to put them in practice. And it’s frustrating. But I decided t return to regular post some ideas here to don’t loose them.

Perhaps I’m not having a revulotionary ideas, I’m not saying E=mc2! But ideas are important per se and share ideas could be the key to give them a spin, an make them fly. Isn’t it the real spirit of open source movement? Open source isn’t IMHO a matter of software, but more generally is matter of ideas.

Innovation have a simple recipe: ideas +time to realize it. But innovation in a open source world could become ideas + some opportunity to realize and share them. One of my favourite blog is exactly this: enunciating ideas and realize them (Bob is sufficient lucky to have time itself to realize hi idea).
In the past I have some ideas became an open source project, and some stimulated some discussions and I’d like to implement it in near future as open source project (I haven’t yet got time, but I love too much TestedBy underlying idea, it is one of my first priority!).

Anyway I can’t switch off my brain just because I haven’t time to realize my ideas.
Could be more interesting and helpful for my curiosity to write down these ideas and share them for an open discussion. At least I’ll have take note of them to work on in some future, or maybe I’ll stimulate others’ ideas in virtuos circle. Let me remark one more time, that is the real underlying idea of open source.

Moreover I’m reading an interesting book “Pragmatic Thinking and Learning“. It say a lot of interesting things, but the one I’m totally sold out is that ideas will be lost if you leave it in a corner of your brain, it’s much better to write it down and eventually discuss it with someone. I would raise the bidding discussing my ideas not with someone, but virtually all ;)

Stay tuned, I’m going to post much more regulary, with really brief post, perhaps someone could be interesting for you and you would like to discuss about it in a virtuous circle ;)