def checkout_test_repository(self, revision, url, directory): git = None if not self._filesystem.exists(directory): _log.info('Cloning %s into %s...' % (url, directory)) Git.clone(url, directory, self._host.executive) git = self.git(directory) elif self._options.fetch is True: git = self.git(directory) _log.info('Fetching %s...' % url) git.fetch() else: git = self.git(directory) _log.info('Checking out revision ' + revision) git.checkout(revision, not self._options.verbose)