refactored the git code so its easier to reuse the same code on top of the Fabric GitDataStore without requiring 2 separate git checkouts