def setUp(self): path1 = utils.get_temporary_location() path2 = utils.get_temporary_location() path2 = os.path.join(path2, "repo") self.repo1 = LocalRepository(path1) self.repo1.init() for i in range(10): with open(os.path.join(self.repo1.path, "file_%s.txt" % i), "wb") as output: print >> output, "This is file", i self.repo1.addAll() self.repo1.commit(message="init") self.repo2 = LocalRepository(path2) self.repo2.clone(self.repo1) self.assertTrue(os.path.isdir(self.repo2.path))
def create_repo(): returned = LocalRepository(get_temporary_location()) returned.init() for i in range(10): filename = "file_%s.txt" % i full_filename = os.path.join(returned.path, filename) with open(full_filename, "wb") as f: print >> f, "initial content" returned.add(filename) returned.commit(message="initial") return returned
def testCloneModifyPush(self): new_repo = LocalRepository(utils.get_temporary_location()) new_repo.clone(self.repo) #checkout a different branch to comply with git 1.7.0 prev_branch = self.repo.getCurrentBranch() self.repo.checkout(self.repo.createBranch('temp')) self.assertReposEqual(self.repo, new_repo) utils.commit_change(new_repo) new_repo.push() self.repo.checkout(prev_branch) self.assertReposEqual(self.repo, new_repo) utils.delete_repository(new_repo)
def __init__(self, rootdir=None): if not rootdir: self.rootdir = Config().get("working_repo") else: self.rootdir = rootdir # gitpy hardcodes the git command without a path, so it's using PATH to find it. We need to set the path for # git. dir = dirname(Config().get('git')) environ['PATH'] = "%s:%s" % (dir, environ['PATH']) repo = LocalRepository(self.rootdir) self.repo = repo
def testAddingRemotes(self): new_repo = LocalRepository(utils.get_temporary_location()) new_repo.init() with open(os.path.join(new_repo.path, "some_file"), "wb") as f: print >> f, "new file" new_repo.addAll() new_repo.commit(message="initial change") REMOTE_NAME = 'remote' remote = new_repo.addRemote(REMOTE_NAME, self.repo.path) self.assertEquals(remote.name, REMOTE_NAME) self.assertEquals(remote.url, self.repo.path) self.assertFalse(new_repo.containsCommit(self.repo.getHead())) remote.fetch() remote.prune() self.assertTrue(new_repo.containsCommit(self.repo.getHead())) branches = list(remote.getBranches()) self.assertTrue(len(branches) > 0) for branch in branches: self.assertTrue(type(branch in new_repo.getHead()) is bool)
def setUp(self): self.dirname = get_temporary_location() self.repo = LocalRepository(self.dirname) self.assertFalse(os.path.exists(self.dirname)) self.assertFalse(self.repo.isValid())