| 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)
|
|
|