[BTC-dev] Creating, Naming and Submitting A Patch

Shane Kinney modsix at gmail.com
Mon Dec 1 16:40:44 UTC 2014


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

    ..::[ The Bitcoin Foundation: Creating, Naming And Submitting A Patch ]::..

        [                   Date: 2014.11.21                              ]
        [                Version: 0.0.1                                   ]
        [                 Author: mod6 [R.01]                             ]

0x00] Purpose: To maintain consistency and provide clarification in naming and
      numerical ordering of patches to the Bitcoin reference implementation.

0x01] Creating the Patch:

      When creating the patch, ensure that you have already pruned the codebase
      in accordance with asciilifeform's Manifest file [R.1] and applied all of
      the published patches from The Bitcoin Foundation.  You may find a list
      of all published patches here: [R.02].  For a guide to this process see
      The Bitcoin Foundation document ``Building with Patch Files''.

      With all of the patches from The Bitcoin Foundation applied, follow these
      next steps to copy over the patched source so you can make the changes for
      your patch and then output the diff of the changes.

      cp -pr bitcoin-bitcoin-a8def6b a && cp -pr bitcoin-bitcoin-a8def6b b

      Now that you have the patched source base copied into ``a'' and ``b'':

      cd b

      Now you should make your changes to the code as necessary.

0x02] Naming and Numbering the Patch:

      [ NOTE ]:
          This document supersedes the previously published announcement about
          how to properly name your patch.  The previously described
          nomenclature was lacking a numbering scheme; this is important as
          all patches are required to be applied in specific order.

      Once the code changes are complete, create a diff of the changes:

      diff -uNr a b > \
      bitcoin-v<MAJ_MIN_MAINT>-<succinct_patchname>.<patch_number>.patch

      For Example:
      diff -uNr a b > \
      bitcoin-v0_5_3-test_patch.5.patch

0x03] Signing the Patch:

      The Bitcoin Foundation requires that you use a GnuPG Detached Signature
      to sign your patch file.

      Sign the patch file as follows:

      gpg --output <your_patch_file>.sig --detach-sig <your_patch_file>

      For Example:
      gpg --output bitcoin-v0_5_3-test_patch.5.patch.sig \
      --detach-sig bitcoin-v0_5_3-test_patch.5.patch

0x04] Submitting the Patch

      To send your patch(s) to the BTC-Dev [R.05] mailing list, first you need
      to create a GPG signed message and then attach your patch file(s) and
      your detached signature files to the email.

      [ NOTE ]:
      The BTC-Dev mailing list will not relay any messages unless they are
      signed by GPG keys associated with #bitcoin-otc WoT [R.06] identities
      with positive trust from the ``assbot'' entity in the WoT.

      The BTC-dev [R.05] mailing list won't broadcast messages that aren't GPG
      signed with a GPG key in the #bitcoin-otc WoT [R.06].  Your submission
      must be signed with a key that has positive ratings with respect
      to `assbot`'s L2 [R.07].

      Read more about this here: [R.08].

[ References ]:

  [R.01] 027A 8D7C 0FB8 A166 4372 0F40 7217 05A8 B71E ADAF
  [R.02] http://f9beb4d9.org
  [R.03] https://codeload.github.com/bitcoin/bitcoin/legacy.tar.gz/v0.5.3
  [R.04] aab1f8ea8c7f131ff69dfa3b9437ba35531018be760132dd6373f41a591f6382
  [R.05] http://f9beb4d9.org/mailman/listinfo/btc-dev
  [R.06] http://bitcoin-otc.com/trust.php
  [R.07] http://wiki.bitcoin-otc.com/wiki/OTC_Rating_System
  [R.08] http://qntra.net/2014/11/introducing-a-new-bitcoin-foundation/
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.13 (FreeBSD)

iQIcBAEBCgAGBQJUfJKzAAoJEHIXBai3Hq2v0eIP/iKI8gD2EKHSySMIwarX4gqP
aLBLx6wru8wNP5ocoHxx6+f/NpfG06PFc8TrC+7weQmYVoqzbGlxbYSYhRHdBVtj
mM9gnRMdMSyOw0RHuSTZ2tJCkZfDk+CgaSv4wTdK5uCHKeNXbkOFfvrOWq0sLiQQ
Qs0oxoehmnaugDTedoE8O85kTvV+1H4RRmWrWrEn980oWvuI9ivO86E8BVVaqYki
ay4Grj8u5DaIZH82AYmylu72hYvBQdmuliirncsjIjKgunoKz6y2H4BV6A+Z8BxL
G5UuAMn11IFjmlvahBP53aG+sHijJ+5TiEOeeGntdsxxaLRylSTBtBUq0MN5zq8U
5zW6gXY6aKZvAtuD9Ux2mWcVUyQNmWCYhRMDzKmQAtpV9+DqMlZe1lZSS0zMVdwf
aQeWpNT0z3wX9dEBNe4JIY5tCAhqUg91Vr4FJrEoUprHN8zk2u3XIZnpTj0HBLf2
yCL01cYU0JNWtTXI5I+WjzZCCP2nt5f3gcht2/BMpT/X4liwZmtAzCgniv3YiIZ6
+wxMcYvIIGAxUpzdFIuAG1FqyYWYP6XR/aadAspsUF+oWoKNnasl6O3vJKVnlvtw
E/Qj+CjA+OjeVNHoNhFKQthLizEG79CgMOBnlaC7ZQHFwNt6nowWtdAZhYzfcRC7
kHdXdPqKSNJNnNZE7CCC
=6Ouj
-----END PGP SIGNATURE-----


More information about the BTC-dev mailing list