Tag: workflow

Going back in the past with git

Sometimes you find yourself in a really big mess:

  • you made some modification that you want to disregard, but
  • you don’t want to delete everything you’ve done.
  • you messed up your master. Although you shouldn’t.

That’s why a git reset is not the way to go, however there is a really nice way to do it:

  • you choose the commit where you want to restart
  • you apply the merge with ‘theirs’ strategy, which actually copy the info from branch B (theirs) to branch A

This is the magic trick:

[code]git checkout -b fixing some_commit
git checkout master
git merge -s recursive –strategy-option theirs B[/code]

  1. Create a fixing branch from the right commit
  2. go back to master
  3. scrap everything you did and copy from the good old branch.

H/T darkhax

Sumatra and git support

Sumatra is very cool idea which I felt the need from a long time. Andrew started the development of it and released the version 0.1 few days ago. The idea was great: record all the details about your simulation, storing the parameters, why you have launched it, what was the outcome. Tagging on top for categorization as well.

There was only one problem: Sumatra was not supporting git so I was unable to use it. Therefore, giving the fact was opensource I just baked a series of patches which were integrated in the tool and now sumatra has a git support 🙂

If you want to have a feel about it and want to try with git there is an example repository on github which you can use.

This is the results of the webinterface (sumatra stores everything in the django ORM system) showing the tables of the simulations:

If you click on the single record you can access the details of the simulation:

Using sumatra you will be able to:

  • search your simulations’ results
  • describe the results of the simulation on the simulation record itself, keeping everything very compact and ordered.
  • retrieve all the tiny details when you will need (papers hopefully..)

Storing all this informations is done automatically for you (except the analysis’ results of course), so you can focus more on your science, without worrrying on loosing your results.

Soon I’ll integrate sumatra in Neuronvisio.

P.S.: The patch for git integration (second part) is on its own way and it should be integrated soon in the tree, so you will need to run the bleeding edge and integrate the patch yourself if it’s not yet there (and you can’t wait 🙂 )

Have Fun

Git Again – Svn Workflow

On this page on the GNOME website I found how to use git properly if you are using it as a gateway to a svn:

  1. git svn clone _svn_server_location #Clone the repository
  2. git svn fetch #Download the stuff
  3. git svn rebase #Merge the updates with the current
  4. git checkout -b myfeature #Create a local branch
  5. hack hack hack # hack
  6. git commit -am "changed stuff" # Commit
  7. hack hack hack # hack
  8. git commit -am "changed other stuff" # Commit
  9. git checkout master # Change to master branch
  10. git merge --squash myfeauture #Merge myfeature to master
  11. git commit -am "merge the feature to the master"
  12. git svn dcommit # Commit everything on the svn server

More info about git in the previous posts