Commit graph

22 commits

Author SHA1 Message Date
Wladimir J. van der Laan
dabee00ef1 github-merge: Coalesce git fetches
Fetch the destination branch as well as PR in one go. Saves a few
seconds (as well as one ssh authentication, when using a yubikey) when
using github-merge.py.
2017-09-05 23:32:09 +02:00
practicalswift
51cb6b8221 Use print(...) instead of undefined printf(...) 2017-08-28 15:18:14 +02:00
practicalswift
25cd520fc4 Use sys.exit(...) instead of exit(...): exit(...) should not be used in programs 2017-08-28 15:18:14 +02:00
Pieter Wuille
475c08cb44 Add PR description to merge commit in github-merge.py 2017-07-10 13:18:31 -07:00
Wladimir J. van der Laan
1983c8772c devtools: Retry after signing fails in github-merge
When signing fails, go back to the sign/exit prompt instead
of exiting the script.
2017-05-31 17:18:44 +02:00
practicalswift
0c60c63de0 Remove unused Python imports 2017-05-02 21:12:36 +02:00
Wladimir J. van der Laan
b508424104 contrib: github-merge improvements
Some minor github-merge improvements I've made over time:

User interface:

- Print merge details again before signing off, to refresh your memory -
  usually I'll have done lots of different things in the shell so this
  will have scrolled out a long time ago.

- Require a valid answer on the prompts. One of the requested answers
  must be typed, if not, the prompt will re-ask. This prevents
  accidentally rejecting.

Efficiency:

- Condense "accept merge" and "sign off" prompts. There's no reason to
  have this as two separate prompts, both are just opportunities to skip
  out on the merge, no action is performed in between.

Merging:

- Strip spaces from github title. This avoids redundant spaces
  surrounding it from getting into the commit message.
2017-04-21 16:58:41 +02:00
Wladimir J. van der Laan
a327e8ea30 devtools: Make github-merge compute SHA512 from git, instead of worktree
This changes tree_sha512sum() to requests the objects for hashing from
git instead of from the working tree.

The change should make the process more deterministic (it hashes what
will be pushed) and hopefully avoids the frequent miscomputed SHA512's
that happen now.
2017-03-13 16:13:38 +01:00
Wladimir J. van der Laan
309bf16257
devtools: Fix a syntax error typo
Fix a typo introduced in #9880 causing the script to not even parse.
2017-03-07 10:53:04 +01:00
Wladimir J. van der Laan
4df8213b98
Merge #9880: Verify Tree-SHA512s in merge commits, enforce sigs are not SHA1
bbd7579 Fix regsig checking for subkey sigs in verify-commits (Matt Corallo)
d025bc7 Allow any subkey in verify-commits (Matt Corallo)
eddc77a Add comment re: why SHA1 is disabled (Peter Todd)
d9c450f Verify Tree-SHA512s in merge commits, enforce sigs are not SHA1 (Matt Corallo)
be908a6 Fail merge if there are any symlinks (Matt Corallo)

Tree-SHA512: bb66c59cc1c6b1c86d7d8be7adb0769c6598c0e28ad927409941f30af87d390521e82fc13700ee22e92db1bd571db3e19a152ec7b2c0349c6e06f5de62c0b65f
2017-03-06 17:19:40 +01:00
MarcoFalke
fa7da3fd96 [contrib] gh-merge: Move second sha512 check to before signing 2017-03-03 15:16:10 +01:00
Matt Corallo
be908a69bf Fail merge if there are any symlinks 2017-03-01 11:22:06 -05:00
Pieter Wuille
fa89670d34 Add SHA512 tree hash to merge commits 2017-02-26 17:31:28 -08:00
practicalswift
95bab821b3 Remove unused Python imports 2017-01-13 19:03:20 +01:00
isle2983
4b04e32c20 [copyright] copyright header style uniform
Three categories of modifications:

1)

1 instance of 'The Bitcoin Core developers \n',
1 instance of 'the Bitcoin Core developers\n',
3 instances of 'Bitcoin Core Developers\n', and
12 instances of 'The Bitcoin developers\n'

are made uniform with the 443 instances of 'The Bitcoin Core developers\n'

2)

3 instances of 'BitPay, Inc\.\n' are made uniform with the other 6
instances of 'BitPay Inc\.\n'

3)

4 instances where there was no '(c)' between the 'Copyright' and the year
where it deviates from the style of the local directory.
2016-11-06 10:12:50 -07:00
Wladimir J. van der Laan
10d3ae102a devtools: Auto-set branch to merge to in github-merge
As we are already using the API to retrieve the pull request
title, also retrieve the base branch.

This makes sure that pull requests for 0.12 automatically end up in
0.12, and pull requests for master automatically end up in master,
and so on.

It is still possible to override the branch from the command line
or using the `githubmerge.branch` git option.
2016-04-02 08:13:49 +02:00
Wladimir J. van der Laan
f11c5a3cbd devtools: make github-merge.py use py3
This makes github-merge.py the first developer tool to go
all Python 3 (for context see #7717).

The changes are straightforward as the script already was
`from __future__ import division,print_function,unicode_literals`.

However urllib2 changed name, and json will only accept unicode data not
bytes.

This retains py2 compatibility for now: not strictly necessary
as it's not used by the build system - but it was easy.
2016-03-23 13:15:20 +01:00
Wladimir J. van der Laan
c8a6c11d6d devtools: Fix utf-8 support in messages for github-merge
Use 'utf-8' instead of the Python 2 default of 'ascii' to encode/decode
commit messages.
This can be removed when switching to Python 3, as 'utf-8' is the
default there.
Necessary for merging #7422 due to the ฿ in ฿tcDrak.
2016-01-27 11:45:06 +01:00
Wladimir J. van der Laan
6a5932bf2a
Merge #7402: [devtools] github-merge get toplevel dir without extra whitespace
5ed2f16 [devtools] github-merge get toplevel dir without extra whitespace (Andrew C)
2016-01-25 15:42:16 +01:00
Andrew C
5ed2f16480 [devtools] github-merge get toplevel dir without extra whitespace
Fixes a bug in github merge when it runs the tests where the toplevel directory has an extra '\n' appended to the path string. Now it doesn't.
2016-01-25 09:02:05 -05:00
Wladimir J. van der Laan
17b5d3896f devtools: show pull and commit information in github-merge
Print the number and title of the pull, as well as the commits to be
merged.
2016-01-22 16:37:42 +01:00
Wladimir J. van der Laan
da6d18b6c7 devtools: replace github-merge with python version
This is meant to be a direct translation of the bash script,
with the difference that it retrieves the PR title from github,
thus creating pull messages like:

    Merge #12345: Expose transaction temperature over RPC
2016-01-20 13:02:45 +01:00