]>
Commit | Line | Data |
---|---|---|
e5adec35 WL |
1 | Contents |
2 | =========== | |
3 | This directory contains tools for developers working on this repository. | |
4 | ||
5 | github-merge.sh | |
74fc254c | 6 | ================== |
e5adec35 WL |
7 | |
8 | A small script to automate merging pull-requests securely and sign them with GPG. | |
9 | ||
10 | For example: | |
11 | ||
12 | ./github-merge.sh bitcoin/bitcoin 3077 | |
13 | ||
14 | (in any git repository) will help you merge pull request #3077 for the | |
15 | bitcoin/bitcoin repository. | |
16 | ||
17 | What it does: | |
18 | * Fetch master and the pull request. | |
19 | * Locally construct a merge commit. | |
20 | * Show the diff that merge results in. | |
21 | * Ask you to verify the resulting source tree (so you can do a make | |
22 | check or whatever). | |
23 | * Ask you whether to GPG sign the merge commit. | |
24 | * Ask you whether to push the result upstream. | |
25 | ||
26 | This means that there are no potential race conditions (where a | |
27 | pullreq gets updated while you're reviewing it, but before you click | |
28 | merge), and when using GPG signatures, that even a compromised github | |
29 | couldn't mess with the sources. | |
30 | ||
31 | Setup | |
32 | --------- | |
33 | Configuring the github-merge tool for the bitcoin repository is done in the following way: | |
34 | ||
35 | git config githubmerge.repository bitcoin/bitcoin | |
36 | git config githubmerge.testcmd "make -j4 check" (adapt to whatever you want to use for testing) | |
37 | git config --global user.signingkey mykeyid (if you want to GPG sign) | |
38 | ||
74fc254c WL |
39 | fix-copyright-headers.py |
40 | =========================== | |
57702541 | 41 | |
42 | Every year newly updated files need to have its copyright headers updated to reflect the current year. | |
43 | If you run this script from src/ it will automatically update the year on the copyright header for all | |
44 | .cpp and .h files if these have a git commit from the current year. | |
45 | ||
46 | For example a file changed in 2014 (with 2014 being the current year): | |
f914f1a7 | 47 | ```// Copyright (c) 2009-2013 The Bitcoin Core developers``` |
57702541 | 48 | |
49 | would be changed to: | |
f914f1a7 | 50 | ```// Copyright (c) 2009-2014 The Bitcoin Core developers``` |
74fc254c WL |
51 | |
52 | symbol-check.py | |
53 | ================== | |
54 | ||
55 | A script to check that the (Linux) executables produced by gitian only contain | |
56 | allowed gcc, glibc and libstdc++ version symbols. This makes sure they are | |
57 | still compatible with the minimum supported Linux distribution versions. | |
58 | ||
59 | Example usage after a gitian build: | |
60 | ||
61 | find ../gitian-builder/build -type f -executable | xargs python contrib/devtools/symbol-check.py | |
62 | ||
63 | If only supported symbols are used the return value will be 0 and the output will be empty. | |
64 | ||
65 | If there are 'unsupported' symbols, the return value will be 1 a list like this will be printed: | |
66 | ||
67 | .../64/test_bitcoin: symbol memcpy from unsupported version GLIBC_2.14 | |
68 | .../64/test_bitcoin: symbol __fdelt_chk from unsupported version GLIBC_2.15 | |
69 | .../64/test_bitcoin: symbol std::out_of_range::~out_of_range() from unsupported version GLIBCXX_3.4.15 | |
70 | .../64/test_bitcoin: symbol _ZNSt8__detail15_List_nod from unsupported version GLIBCXX_3.4.15 | |
71 | ||
9dd5d792 WL |
72 | update-translations.py |
73 | ======================= | |
74 | ||
75 | Run this script from the root of the repository to update all translations from transifex. | |
76 | It will do the following automatically: | |
77 | ||
78 | - fetch all translations | |
79 | - post-process them into valid and committable format | |
80 | - add missing translations to the build system (TODO) | |
81 | ||
82 | See doc/translation-process.md for more information. | |
83 |