mirror of
				https://github.com/c64scene-ar/llvm-6502.git
				synced 2025-10-30 00:16:48 +00:00 
			
		
		
		
	branch). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172740 91177308-0d34-0410-b5e6-96231b3b80d8
		
			
				
	
	
		
			51 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Python
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			51 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Python
		
	
	
		
			Executable File
		
	
	
	
	
| #!/usr/bin/python
 | |
| 
 | |
| import os, sys, subprocess
 | |
| 
 | |
| def main():
 | |
|     from optparse import OptionParser, OptionGroup
 | |
|     parser = OptionParser("usage: %prog [options] <repo> <revision>")
 | |
|     parser.add_option("", "--branch", dest="branch",
 | |
|                       help="Ref for the branch to search [%default]",
 | |
|                       action="store", default="git-svn")    
 | |
|     (opts, args) = parser.parse_args()
 | |
| 
 | |
|     if len(args) != 2:
 | |
|         parser.error("invalid number of arguments")
 | |
| 
 | |
|     repo,rev = args
 | |
| 
 | |
|     try:
 | |
|         rev = int(rev)
 | |
|     except:
 | |
|         parser.error("invalid revision argument (not an integer)")
 | |
| 
 | |
|     os.chdir(repo)
 | |
|     p = subprocess.Popen(['git', 'rev-list', opts.branch, '--pretty'],
 | |
|                          stdout=subprocess.PIPE)
 | |
| 
 | |
|     bestRev = bestCommit = None
 | |
|     lastCommit = None
 | |
|     for ln in p.stdout:
 | |
|         if ln.startswith('commit '):
 | |
|             lastCommit = ln.split(' ',2)[1]
 | |
|         elif ln.startswith('    git-svn-id: '):
 | |
|             _,repo,_ = ln.strip().split(' ')
 | |
|             _,lrev = repo.rsplit('@',1)
 | |
|             lrev = int(lrev)
 | |
|             if lrev<=rev:
 | |
|                 if bestRev is None or lrev>bestRev:
 | |
|                     assert lastCommit
 | |
|                     bestCommit = lastCommit
 | |
|                     bestRev = lrev
 | |
|                     if lrev == rev:
 | |
|                         break
 | |
|     
 | |
|     if bestCommit is not None:
 | |
|         print bestCommit
 | |
|         sys.exit(0)
 | |
|     sys.exit(1)
 | |
| 
 | |
| if __name__=='__main__':
 | |
|     main()
 |