def create(cls, lock, repo, name, obj, commit_cls=sync_commit.Commit): path = cls.get_path(name) logger.debug("Creating ref %s" % path) pygit2_repo = pygit2_get(repo) if path in pygit2_repo.references: raise ValueError("Ref %s exists" % (path,)) pygit2_repo.references.create(path, pygit2_repo.revparse_single(obj).id) return cls(repo, name, commit_cls)
def __init__(self, repo, name, commit_cls=sync_commit.Commit): self.repo = repo self.pygit2_repo = pygit2_get(repo) if not self.get_path(name) in self.pygit2_repo.references: raise ValueError("No ref found in %s with path %s" % (repo.working_dir, self.get_path(name))) self.name = name self.commit_cls = commit_cls self._lock = None
def __init__(self, repo): self.repo = repo self.pygit2_repo = pygit2_get(repo) self.reset()