As many know, there has been a push in the community to move our VCS from subversion to git.  I agree with them that it is time to make that move, and I hope the other contributors and especially the project leads will get on board. I had reservations about making this move myself, not so much specific to git itself, but for the fact that I didn't think that it offered enough advantage over the cost of actually doing the move due to the limited resources available.  If we were all paid to do this kind of work, these issues simply wouldn't exist.  It isn't simply switching version control, but the interactions between that and the existing infrastructure (Jira and Bamboo) and the like and also implementing new software, build and release processes.

 

With regards to the software development process, this is where git, or more specifically, some of the available management tools for git really shine. They add more than enough value to the process that I think we should adopt them.

 

So, I am proposing that we get and set up Atlassian Stash (the enterprise version of BitBucket).  It has excellent integration with the existing development tools we are using and will provide a much better software development and management process then we currently have (which admittedly isn't that hard).

 

  • Branches can be linked to their Jira tickets.
  • Code review of a pull request will automatically update a Jira ticket to code review status.
  • Accepting a pull request will update the status to resolved.
  • Configure builds to automatically build any branch.
  • Force merge of pull request to require a successful build before allowing a merge.
  • Inline code reviews
  • Would allow private repos
  • Can be branded to Igniterealtime

 

From what I know, the feature set is very similar to Github, but I don't know where Github stands with respect to Jira and Bamboo integration. I am sure the build server has no issues either way with simply building the code base, but I have no idea if it offers any actual integration the other way around.