| Index: scripts/slave/bot_update.py
|
| diff --git a/scripts/slave/bot_update.py b/scripts/slave/bot_update.py
|
| index e6b27fc5635f74a8120ecc04713a543d55851639..698ca55950ea33618c01937728c7baa97da7d17b 100755
|
| --- a/scripts/slave/bot_update.py
|
| +++ b/scripts/slave/bot_update.py
|
| @@ -538,15 +538,6 @@ def get_git_hash(revision, sln_dir):
|
| (revision, sln_dir))
|
|
|
|
|
| -def get_revision_mapping(root, addl_rev_map):
|
| - result = {}
|
| - if root in GOT_REVISION_MAPPINGS:
|
| - result.update(GOT_REVISION_MAPPINGS[root])
|
| - if addl_rev_map:
|
| - result.update(json.loads(addl_rev_map))
|
| - return result
|
| -
|
| -
|
| def _last_commit_for_file(filename, repo_base):
|
| cmd = ['log', '--format=%H', '--max-count=1', '--', filename]
|
| return git(*cmd, cwd=repo_base).strip()
|
| @@ -865,7 +856,7 @@ def apply_svn_patch(patch_root, patches, whitelist=None, blacklist=None):
|
| stdin_data=patch, cwd=patch_root, tries=1)
|
|
|
|
|
| -def apply_rietveld_issue(issue, patchset, root, server, rev_map, revision,
|
| +def apply_rietveld_issue(issue, patchset, root, server, _rev_map, _revision,
|
| whitelist=None, blacklist=None):
|
| apply_issue_bin = ('apply_issue.bat' if sys.platform.startswith('win')
|
| else 'apply_issue')
|
| @@ -1130,8 +1121,13 @@ def parse_args():
|
| parse.add_option('-f', '--force', action='store_true',
|
| help='Bypass check to see if we want to be run. '
|
| 'Should ONLY be used locally.')
|
| - parse.add_option('--revision_mapping')
|
| - parse.add_option('--revision-mapping') # Backwards compatability.
|
| + parse.add_option('--revision_mapping',
|
| + help='{"path/to/repo/": "property_name"}')
|
| + parse.add_option('--revision_mapping_file',
|
| + help=('Same as revision_mapping, except its a path to a json'
|
| + ' file containing that format.'))
|
| + parse.add_option('--revision-mapping', # Backwards compatability.
|
| + help='DEPRECATED, use "revision_mapping" instead')
|
| parse.add_option('--revision', action='append', default=[],
|
| help='Revision to check out. Can be an SVN revision number, '
|
| 'git hash, or any form of git ref. Can prepend '
|
| @@ -1156,7 +1152,24 @@ def parse_args():
|
| help='Output JSON information into a specified file')
|
|
|
|
|
| - return parse.parse_args()
|
| + options, args = parse.parse_args()
|
| +
|
| + try:
|
| + if options.revision_mapping_file:
|
| + if options.revision_mapping:
|
| + print ('WARNING: Ignoring --revision_mapping: --revision_mapping_file '
|
| + 'was set at the same time as --revision_mapping?')
|
| + with open(options.revision_mapping_file, 'r') as f:
|
| + options.revision_mapping = json.load(f)
|
| + elif options.revision_mapping:
|
| + options.revision_mapping = json.loads(options.revision_mapping)
|
| + except Exception as e:
|
| + print (
|
| + 'WARNING: Caught execption while parsing revision_mapping*: %s'
|
| + % (str(e),)
|
| + )
|
| +
|
| + return options, args
|
|
|
|
|
| def main():
|
| @@ -1284,7 +1297,10 @@ def main():
|
| # Revision is an svn revision, unless its a git master or past flag day.
|
| use_svn_rev = master not in GIT_MASTERS and not FLAG_DAY
|
| # Take care of got_revisions outputs.
|
| - revision_mapping = get_revision_mapping(svn_root, options.revision_mapping)
|
| + revision_mapping = dict(GOT_REVISION_MAPPINGS.get(svn_root, {}))
|
| + if options.revision_mapping:
|
| + revision_mapping.update(options.revision_mapping)
|
| +
|
| got_revisions = parse_got_revision(gclient_output, revision_mapping,
|
| use_svn_rev)
|
|
|
|
|