Git, Fabric and Python - Tag You're It

There are many discussions that you can read about value of creating 'versions' or 'versioning' software.  More often then not, the versions (e.g. v 1.2.34) are used for marketing purposes or commercial product releases.  Does the internal engineering staff pay attention to such monikers on a daily basis?  Not really.  ​

​There are some instances, however, whereby knowing exactly which files on running on what server can come in handy.  

I wrote this Fabric task that can be called when doing a code push.  It tags the set of files with the name of the host machine the deploy is going to + a unique time stamp.  It also creates a 'tag' file which contains what branch of the code was used for this deployment.