| Index: tools/submit_try
|
| ===================================================================
|
| --- tools/submit_try (revision 12952)
|
| +++ tools/submit_try (working copy)
|
| @@ -17,9 +17,11 @@
|
| import json
|
| import os
|
| import re
|
| +import shutil
|
| import subprocess
|
| import svn
|
| import sys
|
| +import tempfile
|
|
|
| import buildbot_globals
|
|
|
| @@ -270,19 +272,36 @@
|
| proc.communicate()[0]))
|
| print proc.communicate()[0]
|
| else:
|
| - # First, find depot_tools. This is needed to import trychange.
|
| - sys.path.append(FindDepotTools())
|
| - import trychange
|
| - try_args = ['--use_svn',
|
| - '--svn_repo', GetTryRepo(),
|
| - '--root', GetCheckoutRoot(is_svn),
|
| - '--bot', botlist,
|
| - '--patchlevel', '0']
|
| - if args.revision:
|
| - try_args.extend(['-r', args.revision])
|
| - trychange.TryChange(try_args, None, False)
|
| + # Create the diff file.
|
| + cmd = ['git.bat' if os.name == 'nt' else 'git', 'diff', 'origin/master']
|
| + proc = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
|
| + if proc.wait() != 0:
|
| + raise Exception('Failed to capture git diff!')
|
|
|
| + temp_dir = tempfile.mkdtemp()
|
| + try:
|
| + diff_file = os.path.join(temp_dir, 'patch.diff')
|
| + with open(diff_file, 'wb') as f:
|
| + f.write(proc.communicate()[0])
|
| +
|
| + # Find depot_tools. This is needed to import trychange.
|
| + sys.path.append(FindDepotTools())
|
| + import trychange
|
| + try_args = ['--use_svn',
|
| + '--svn_repo', GetTryRepo(),
|
| + '--root', GetCheckoutRoot(is_svn),
|
| + '--bot', botlist,
|
| + '--diff', diff_file,
|
| + ]
|
| + if args.revision:
|
| + try_args.extend(['-r', args.revision])
|
|
|
| + # Submit the try request.
|
| + trychange.TryChange(try_args, None, False)
|
| + finally:
|
| + shutil.rmtree(temp_dir)
|
| +
|
| +
|
| def main():
|
| # Retrieve the list of active try builders from the build master.
|
| trybots = RetrieveTrybotList(json_filename='trybots')
|
|
|