35 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Python
		
	
	
	
			
		
		
	
	
			35 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Python
		
	
	
	
| 
 | |
| 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 "<ChangeItem %r>" %(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) 
 |