aboutsummaryrefslogtreecommitdiff
path: root/contrib/devtools/README.md
diff options
context:
space:
mode:
authorWladimir J. van der Laan <laanwj@gmail.com>2013-11-22 05:49:51 +0100
committerWladimir J. van der Laan <laanwj@gmail.com>2013-11-24 12:44:31 +0100
commite5adec35c65b5194d0d4465b4d095f34e80dcc94 (patch)
tree85c90820804979bc77eb939a9c861becc1c14b39 /contrib/devtools/README.md
parentbe5d37c59757ac3b6deae1e3b238dcb2168207cb (diff)
downloadbitcoin-e5adec35c65b5194d0d4465b4d095f34e80dcc94.tar.xz
contrib: add sipa's github-merge script
Diffstat (limited to 'contrib/devtools/README.md')
-rw-r--r--contrib/devtools/README.md38
1 files changed, 38 insertions, 0 deletions
diff --git a/contrib/devtools/README.md b/contrib/devtools/README.md
new file mode 100644
index 0000000000..55d5d24cca
--- /dev/null
+++ b/contrib/devtools/README.md
@@ -0,0 +1,38 @@
+Contents
+===========
+This directory contains tools for developers working on this repository.
+
+github-merge.sh
+----------------
+
+A small script to automate merging pull-requests securely and sign them with GPG.
+
+For example:
+
+ ./github-merge.sh bitcoin/bitcoin 3077
+
+(in any git repository) will help you merge pull request #3077 for the
+bitcoin/bitcoin repository.
+
+What it does:
+* Fetch master and the pull request.
+* Locally construct a merge commit.
+* Show the diff that merge results in.
+* Ask you to verify the resulting source tree (so you can do a make
+check or whatever).
+* Ask you whether to GPG sign the merge commit.
+* Ask you whether to push the result upstream.
+
+This means that there are no potential race conditions (where a
+pullreq gets updated while you're reviewing it, but before you click
+merge), and when using GPG signatures, that even a compromised github
+couldn't mess with the sources.
+
+Setup
+---------
+Configuring the github-merge tool for the bitcoin repository is done in the following way:
+
+ git config githubmerge.repository bitcoin/bitcoin
+ git config githubmerge.testcmd "make -j4 check" (adapt to whatever you want to use for testing)
+ git config --global user.signingkey mykeyid (if you want to GPG sign)
+