Index: git_auto_svn.py
|
diff --git a/git_auto_svn.py b/git_auto_svn.py
|
index 0e8f341c7ca616c50cd7e3a75a1f0b3af0981640..c1266f8b502c46afe0199bb592a5229c45ca81b3 100755
|
--- a/git_auto_svn.py
|
+++ b/git_auto_svn.py
|
@@ -50,6 +50,19 @@ def run_svn(*cmd, **kwargs):
|
return ret, err
|
|
|
+def get_footer_svn_id(branch=None):
|
+ if not branch:
|
+ branch = root()
|
+ svn_id = None
|
+ message = run_git('log', '-1', '--format=%B', branch)
|
+ footers = parse_footers(message)
|
+ git_svn_id = get_unique(footers, 'git-svn-id')
|
+ match = GIT_SVN_ID_PATTERN.match(git_svn_id)
|
+ if match:
|
+ svn_id = match.group(1)
|
+ return svn_id
|
+
|
+
|
def main(argv):
|
# No command line flags. Just use the parser to prevent people from trying
|
# to pass flags that don't do anything, and to provide 'usage'.
|
@@ -58,14 +71,11 @@ def main(argv):
|
parser.parse_args(argv)
|
|
upstream = root()
|
- message = run_git('log', '-1', '--format=%B', upstream)
|
- footers = parse_footers(message)
|
- git_svn_id = get_unique(footers, 'git-svn-id')
|
- match = GIT_SVN_ID_PATTERN.match(git_svn_id)
|
- assert match, 'No valid git-svn-id footer found on %s.' % upstream
|
- print 'Found git-svn-id footer %s on %s' % (match.group(1), upstream)
|
+ svn_id = get_footer_svn_id(upstream)
|
+ assert svn_id, 'No valid git-svn-id footer found on %s.' % upstream
|
+ print 'Found git-svn-id footer %s on %s' % (svn_id, upstream)
|
|
- parsed_svn = urlparse.urlparse(match.group(1))
|
+ parsed_svn = urlparse.urlparse(svn_id)
|
path_components = parsed_svn.path.split('/')
|
svn_repo = None
|
svn_path = None
|
@@ -86,7 +96,7 @@ def main(argv):
|
' from https://chromium-access.appspot.com' % maybe_repo)
|
print
|
continue
|
- assert svn_repo is not None, 'Unable to find svn repo for %s' % match.group(1)
|
+ assert svn_repo is not None, 'Unable to find svn repo for %s' % svn_id
|
print 'Found upstream svn repo %s and path %s' % (svn_repo, svn_path)
|
|
set_config('svn-remote.svn.url', svn_repo)
|
|