Extract scm operations to separate interface
Make git operations testable
Calculate version, set version in task
Create properties file with scm information