second part of the slideshow on HG for bioinformatics

I gave the second part of the talk on Version Control and hg for my group (check the first part). Here you have the slides:

I am working in collaboration with some of my colleagues to write a pipeline for calculating some tests for our projects.

The idea is to use hg to coordinate the writing of these scripts. We will have a reference version of the scripts on a private repository; then, everybody will synchronize its local copy of the scripts from there, uploading new changes to the same place.

Some of my colleagues told me that hg is much easier than what they thought. I am very happy of this because I was worried about it being too difficult to use. It is really a long time that I want to convince my colleagues to adopt some version control tools, and it seems that it was easier than what I expected.


  1. I’m wondering how you deal with the branches in hg or if you use them anyway.

    I found git workflow for branches amazing. If I want to try something a bit risky or a crazy idea I just happily branch into a new one and stert to develop without being scared to mess up the code.

    Then I can decide to continue, abort, or merge into master if the results are great.

    This works especially well if I want a remote experimental or feature related branch which I can use and share as development and export to people, or just to give a go to any ideas locally.

    I had a look for hg, but nothing was able to compare with this. (Or I don’t understand hg branches…)

  2. Hi!
    Right now I don’t remember very well how branches work in git, but I suppose it is more or less the same concept. I didn’t explain merges in this slideshow, because I thought it was too complicated for now, but basically it is the hg branch command. One difference is that to switch branches in hg you have to use the update command (hg update branchname), which makes its sense.

    This weekend I was working on an alternative version of a script written by a colleague, but since I didn’t want to impose him the new version, I’ve created a new branch and then explained him how to merge. This worked great.. I also use branches in the way you described, when I want to try a different implementation of a script or when I have to do a lot of refactoring.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">