Thursday 25 October 2012

Going back in time using Git's checkout

I'm still amazed at Git's speed in moving back and forwards in time. For example I was trying to find a particular GUI that we created for TeamMentor and was able to use git checkout to look at previous versions:

git checkout master (25 Oct 2012  TM 3.2) :


 git checkout dd867bfb4b9519c3b9c6ddfe2c0f9b1f6720f162 (4th Sep 2012: TM 3.2 RC1) :


git checkout 890caa053feee04bf0b7139787e0ee6100963771 (23rd Jan 2012: TM 3.0) :


git checkout 557177691139bf2385973b45bf39508042a11621 (18th Jan 2012: TM 3.0 RC9) :


Looking at these images, I thought of a cool script to write (here it is in pseudocode):

    foreach id in avaiable_checkouts
          git checkout id 
          {
               start webserver
               open default page in browser (if possible 'add a library if not there')
               take screenshot (only store unique values and if possible 'add watermark with version and date')     
               close web server
          }
     create animation from screenshots taken 

It's all doable with O2's APIs (I just don't have the time today)  :)