import py class ChangeItem: def __init__(self, repo, revision, line): self.repo = py.path.local(repo) self.revision = int(revision) self.action = action = line[:4] self.path = line[4:].strip() self.added = action[0] == "A" self.modified = action[0] == "M" self.propchanged = action[1] == "U" self.deleted = action[0] == "D" def svnurl(self): return py.path.svnurl("file://%s/%s" %(self.repo, self.path), self.revision) def __repr__(self): return "" %(self.action + self.path) def changed(repo, revision): out = py.process.cmdexec("svnlook changed -r %s %s" %(revision, repo)) l = [] for line in out.strip().split('\n'): l.append(ChangeItem(repo, revision, line)) return l def author(repo, revision): out = py.process.cmdexec("svnlook author -r %s %s" %(revision, repo)) return out.strip() def youngest(repo): out = py.process.cmdexec("svnlook youngest %s" %(repo,)) return int(out)