BioRuby development: feedback on using Git

Everyone likes constructive feedback. I received a couple of great comments on my previous post, which warrant a brief discussion.

@vlandham points out that when the main BioRuby repository updates, you’ll want to update your local repository. Using git, you do that by adding a remote which points to the original repository, from which you can fetch updates and merge with your local version:

git remote add upstream https://github.com/bioruby/bioruby.git
# fetch/merge only when main repo updates
git fetch upstream
git merge upstream master

This is described at the GitHub help page Fork A Repo.

Michael points to an article titled A successful Git branching model. It suggests that when developing new features you create a feature branch (also called topic branch). This can help with the management of new features and creates a more complete commit history if/when the new feature is merged back into your development repository. The article also suggests a main branch for development named develop, rather than the default master.

I haven’t quite got my head around all the ins-and-outs of the article yet, but it’s well worth a read.

3 thoughts on “BioRuby development: feedback on using Git

  1. vlandham

    Thanks for the shout out!
    I would agree with Michael on using feature branches when possible. Though, looking at the current branches of bioruby, it doesn’t look to be a popular methodology with bioruby developers…

    I found this recent article on understanding the git workflow to be helpful: http://sandofsky.com/blog/git-workflow.html

  2. vlandham

    Ignore this comment, as its not really related to your great posts. However, I wanted to express some opinions on bioruby and perhaps how future commiters could work toward improving

    I think better documentation and updated development practices could really help the bioruby community. I’ve just started looking around at the project, so I could have some misconceptions, but some of what they are doing seems less than optimal for attracting people to the project. Here are some comments:
    * Why does the main bioruby page have outdated information on it and read like the notes from a business meeting? Just getting started, I want to know 1) how to install this tool 2) what this tool can do.
    * Why the use of a old mailing list instead of something like google groups? Maybe its just me, but these old-style lists make it difficult to search / ask questions. Rails is using google groups, why not bioruby?
    * Why the use of a separate wiki and not the built in github wiki? I don’t want to have to jump back and forth between sites just to get info on how to use bioruby.
    * The readme on the bioruby github site seems awfully confusing and outdated. The where to obtain points be back to rubyforge or the website first – but I’m already at the official repository. The install process goes through a manual install before mentioning rubygems. The rubygems install command (“gems install bio”) is incorrect.
    * Why isn’t Bundler being used to handle external dependencies?

    I mention rails above. I would love to see the start of a bioruby guide, in the same vein as the rails guides at http://guides.rubyonrails.org/ .
    This would allow potential users to see the immediate power and benefit of bioruby. The “SampleCodes” page on the bioruby wiki is perhaps a start in that process, but it gets confusing as one big long page, and is incomplete.

    Anyways, no disrespect meant at all to the bioruby developers. Just a few comments from someone just starting in the bioinformatic world, who wants tools like this to reach their full potential. Perhaps more documentation like this from Neil will help lower the bar to contributing to bioruby, and some of these improvements can be realized.

    1. Michael Barton

      I strongly agree with all your points @vlandham. If I could speculate, these points could be the result of a responsibility and also because working and maintaining an open-source project is not necessarily rewarded as it should be in biology.

Comments are closed.