Bug 1357238 - Allow apostrophes in try commit messages r=dustin
This copies the behavior of mozilla-taskcluster when it submits try pushes. This will allow us to eventually stop using mozilla-taskcluster. MozReview-Commit-ID: J9zC92AE7HZ
This commit is contained in:
@@ -194,20 +194,18 @@ def escape_whitespace_in_brackets(input_str):
|
||||
return result
|
||||
|
||||
|
||||
def find_try_idx(message):
|
||||
def split_try_msg(message):
|
||||
try:
|
||||
try_idx = message.index('try:')
|
||||
except ValueError:
|
||||
return []
|
||||
message = message[try_idx:].split('\n')[0]
|
||||
# shlex used to ensure we split correctly when giving values to argparse.
|
||||
parts = shlex.split(escape_whitespace_in_brackets(message))
|
||||
try_idx = None
|
||||
for idx, part in enumerate(parts):
|
||||
if part == TRY_DELIMITER:
|
||||
try_idx = idx
|
||||
break
|
||||
|
||||
return try_idx, parts
|
||||
return shlex.split(escape_whitespace_in_brackets(message))
|
||||
|
||||
|
||||
def parse_message(message):
|
||||
try_idx, parts = find_try_idx(message)
|
||||
parts = split_try_msg(message)
|
||||
|
||||
# Argument parser based on try flag flags
|
||||
parser = argparse.ArgumentParser()
|
||||
@@ -240,7 +238,6 @@ def parse_message(message):
|
||||
|
||||
# In order to run test jobs multiple times
|
||||
parser.add_argument('--rebuild', dest='trigger_tests', type=int, default=1)
|
||||
parts = parts[try_idx:] if try_idx is not None else []
|
||||
args, _ = parser.parse_known_args(parts)
|
||||
return args
|
||||
|
||||
@@ -290,8 +287,8 @@ class TryOptionSyntax(object):
|
||||
self.tag = None
|
||||
self.no_retry = False
|
||||
|
||||
try_idx, _ = find_try_idx(message)
|
||||
if try_idx is None:
|
||||
parts = split_try_msg(message)
|
||||
if not parts:
|
||||
return None
|
||||
|
||||
args = parse_message(message)
|
||||
|
||||
Reference in New Issue
Block a user