Index: trychange.py |
diff --git a/trychange.py b/trychange.py |
index 07af901af9bf0e2458c3af73a0250f87be8fd532..ead63c338d32956a5a90613179a4deed92de8e8f 100755 |
--- a/trychange.py |
+++ b/trychange.py |
@@ -290,31 +290,33 @@ class GIT(SCM): |
def _ParseSendChangeOptions(options): |
"""Parse common options passed to _SendChangeHTTP and _SendChangeSVN.""" |
- values = {} |
+ values = [ |
+ ('user', options.user), |
+ ('name', options.name), |
+ ] |
if options.email: |
- values['email'] = options.email |
- values['user'] = options.user |
- values['name'] = options.name |
- if options.bot: |
- values['bot'] = ','.join(options.bot) |
+ values.append(('email', options.email)) |
if options.revision: |
- values['revision'] = options.revision |
+ values.append(('revision', options.revision)) |
if options.clobber: |
- values['clobber'] = 'true' |
- if options.testfilter: |
- values['testfilter'] = ','.join(options.testfilter) |
+ values.append(('clobber', 'true')) |
if options.root: |
- values['root'] = options.root |
+ values.append(('root', options.root)) |
if options.patchlevel: |
- values['patchlevel'] = options.patchlevel |
+ values.append(('patchlevel', options.patchlevel)) |
if options.issue: |
- values['issue'] = options.issue |
+ values.append(('issue', options.issue)) |
if options.patchset: |
- values['patchset'] = options.patchset |
+ values.append(('patchset', options.patchset)) |
if options.target: |
- values['target'] = options.target |
+ values.append(('target', options.target)) |
if options.project: |
- values['project'] = options.project |
+ values.append(('project', options.project)) |
+ |
+ for bot in options.bot: |
+ values.append(('bot', bot)) |
+ for t in options.testfilter: |
+ values.append(('testfilter', t)) |
return values |
@@ -328,8 +330,7 @@ def _SendChangeHTTP(options): |
'server port to connect to.') |
values = _ParseSendChangeOptions(options) |
- description = ''.join("%s=%s\n" % (k, v) for (k, v) in values.iteritems()) |
- values['patch'] = options.diff |
+ values.append(('patch', options.diff)) |
url = 'http://%s:%s/send_try_patch' % (options.host, options.port) |
proxies = None |
@@ -341,7 +342,7 @@ def _SendChangeHTTP(options): |
proxies = {'http': options.proxy, 'https': options.proxy} |
logging.info('Sending by HTTP') |
- logging.info(description) |
+ logging.info(''.join("%s=%s\n" % (k, v) for k, v in values)) |
logging.info(url) |
logging.info(options.diff) |
if options.dry_run: |
@@ -353,8 +354,7 @@ def _SendChangeHTTP(options): |
logging.info('Done') |
except IOError, e: |
logging.info(str(e)) |
- if (values.get('bot') and len(e.args) > 2 and |
- e.args[2] == 'got a bad status line'): |
+ if options.bot and len(e.args) > 2 and e.args[2] == 'got a bad status line': |
raise NoTryServerAccess('%s is unaccessible. Bad --bot argument?' % url) |
else: |
raise NoTryServerAccess('%s is unaccessible. Reason: %s' % (url, |
@@ -376,7 +376,7 @@ def _SendChangeSVN(options): |
' try server svn repository to connect to.') |
values = _ParseSendChangeOptions(options) |
- description = ''.join("%s=%s\n" % (k, v) for (k, v) in values.iteritems()) |
+ description = ''.join("%s=%s\n" % (k, v) for k, v in values) |
logging.info('Sending by SVN') |
logging.info(description) |
logging.info(options.svn_repo) |
@@ -558,7 +558,7 @@ def TryChange(argv, |
help="Override which project to use. Projects are defined " |
"server-side to define what default bot set to use") |
- group.add_option("-t", "--testfilter", action="append", |
+ group.add_option("-t", "--testfilter", action="append", default=[], |
help="Add a gtest_filter to a test. Use multiple times to " |
"specify filters for different tests. (i.e. " |
"--testfilter base_unittests:ThreadTest.* " |