'Performs all steps necessary to initialize and download a git repo.
This includes the init, fetch and checkout steps in one single
utility method.'

def execute(self):

    self.init()
    if (self.base_uri is not None):
        self.fetch(self.base_uri)
    self.fetch(self.uri)
    self.checkout()
