Wes McKinney created ARROW-6178:
-----------------------------------
Summary: [Developer] Don't fail in merge script on bad primary
author input in multi-author PRs
Key: ARROW-6178
URL: https://issues.apache.org/jira/browse/ARROW-6178
Project: Apache Arrow
Issue Type: Bug
Components: Developer Tools
Reporter: Wes McKinney
I was going on autopilot in a multi-author PR and this happened
{code}
Switched to branch 'PR_TOOL_MERGE_PR_5000_MASTER'
Automatic merge went well; stopped before committing as requested
Author 1: François Saint-Jacques <[email protected]>
Author 2: Wes McKinney <[email protected]>
Enter primary author in the format of "name <email>" [François Saint-Jacques
<[email protected]>]: y
fatal: --author '"y"' is not 'Name <email>' and matches no existing author
Command failed: ['git', 'commit', '--no-verify', '--author="y"', '-m',
'ARROW-6121: [Tools] Improve merge tool ergonomics', '-m', '- merge_arrow_pr.py
now accepts the pull-request number as a single optional argument, e.g.
`./merge_arrow_pr.py 4921`.\r\n- merge_arrow_pr.py can optionally read a
configuration file located in `~/.config/arrow/merge.conf` which contains
options like jira credentials. See the `dev/merge.conf` file as example', '-m',
'Closes #5000 from fsaintjacques/ARROW-6121-merge-ergonomic and squashes the
following commits:', '-m', '5298308d7 <Wes McKinney> Handle username/password
separately (in case username is set but not password)\n581653735 <François
Saint-Jacques> Rename merge.conf to merge.conf.sample\n7c51ca8f0 <François
Saint-Jacques> Add license to config file\n1213946bd <François Saint-Jacques>
ARROW-6121: Improve merge tool ergonomics', '-m', 'Lead-authored-by:
y\nCo-authored-by: François Saint-Jacques
<[email protected]>\nCo-authored-by: Wes McKinney
<[email protected]>\nSigned-off-by: Wes McKinney <[email protected]>']
With output:
--------------
b''
--------------
Traceback (most recent call last):
File "dev/merge_arrow_pr.py", line 530, in <module>
if pr.is_merged:
File "dev/merge_arrow_pr.py", line 515, in cli
PROJECT_NAME = os.environ.get('ARROW_PROJECT_NAME') or 'arrow'
File "dev/merge_arrow_pr.py", line 420, in merge
'--author="%s"' % primary_author] +
File "dev/merge_arrow_pr.py", line 89, in run_cmd
print('--------------')
File "dev/merge_arrow_pr.py", line 81, in run_cmd
try:
File "/home/wesm/miniconda/envs/arrow-3.7/lib/python3.7/subprocess.py", line
395, in check_output
**kwargs).stdout
File "/home/wesm/miniconda/envs/arrow-3.7/lib/python3.7/subprocess.py", line
487, in run
output=stdout, stderr=stderr)
{code}
If the input does not match the expected format, we should loop to request
input again rather than failing out (which requires messy manual cleanup of
temporary branches)
--
This message was sent by Atlassian JIRA
(v7.6.14#76016)