| Index: roll_dep.py
|
| diff --git a/roll_dep.py b/roll_dep.py
|
| index 164bd57d4b76bbc63384b4ae85f3e82227dfa655..c3c80b19d12081d747ad7f2287ecd95bba4287d5 100755
|
| --- a/roll_dep.py
|
| +++ b/roll_dep.py
|
| @@ -17,6 +17,8 @@ import sys
|
|
|
| NEED_SHELL = sys.platform.startswith('win')
|
|
|
| +GITILES_REGEX = r'https?://[^/]*\.googlesource\.com/'
|
| +
|
|
|
| class Error(Exception):
|
| pass
|
| @@ -86,27 +88,26 @@ def roll(root, deps_dir, key, reviewers, bug):
|
| raise Error('No revision to roll!')
|
|
|
| commit_range = '%s..%s' % (head[:9], master[:9])
|
| -
|
| - logs = check_output(
|
| - ['git', 'log', commit_range, '--date=short', '--format=%ad %ae %s'],
|
| - cwd=full_dir).strip()
|
| - logs = re.sub(r'(?m)^(\d\d\d\d-\d\d-\d\d [^@]+)@[^ ]+( .*)$', r'\1\2', logs)
|
| - cmd = 'git log %s --date=short --format=\'%%ad %%ae %%s\'' % commit_range
|
| - reviewer = 'R=%s\n' % ','.join(reviewers) if reviewers else ''
|
| - bug = 'BUG=%s\n' % bug if bug else ''
|
| + upstream_url = check_output(
|
| + ['git', 'config', 'remote.origin.url'], cwd=full_dir).strip()
|
| +
|
| + log_url = None
|
| + if re.match(GITILES_REGEX, upstream_url):
|
| + log_url = '%s/+log/%s..%s' % (upstream_url, head, master)
|
| +
|
| + msg_args = {
|
| + 'deps_dir': deps_dir,
|
| + 'commit_range': commit_range,
|
| + 'log': '%s\n\n' % log_url if log_url else '',
|
| + 'reviewer': 'R=%s\n' % ','.join(reviewers) if reviewers else '',
|
| + 'bug': 'BUG=%s\n' % bug if bug else '',
|
| + }
|
| msg = (
|
| - 'Roll %s/ to %s.\n'
|
| + 'Roll %(deps_dir)s %(commit_range)s\n'
|
| '\n'
|
| - '$ %s\n'
|
| - '%s\n\n'
|
| - '%s'
|
| - '%s') % (
|
| - deps_dir,
|
| - master,
|
| - cmd,
|
| - logs,
|
| - reviewer,
|
| - bug)
|
| + '%(log)s'
|
| + '%(reviewer)s'
|
| + '%(bug)s' % msg_args)
|
|
|
| print('Commit message:')
|
| print('\n'.join(' ' + i for i in msg.splitlines()))
|
|
|