3 import os, sys, subprocess
6 from optparse import OptionParser, OptionGroup
7 parser = OptionParser("usage: %prog [options] <repo> <revision>")
8 parser.add_option("", "--branch", dest="branch",
9 help="Ref for the branch to search [%default]",
10 action="store", default="git-svn")
11 (opts, args) = parser.parse_args()
14 parser.error("invalid number of arguments")
21 parser.error("invalid revision argument (not an integer)")
24 p = subprocess.Popen(['git', 'rev-list', opts.branch, '--pretty'],
25 stdout=subprocess.PIPE)
27 bestRev = bestCommit = None
30 if ln.startswith('commit '):
31 lastCommit = ln.split(' ',2)[1]
32 elif ln.startswith(' git-svn-id: '):
33 _,repo,_ = ln.strip().split(' ')
34 _,lrev = repo.rsplit('@',1)
37 if bestRev is None or lrev>bestRev:
39 bestCommit = lastCommit
44 if bestCommit is not None:
49 if __name__=='__main__':