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

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

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 > \

      For Example:
      diff -uNr a b > \

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/
Version: GnuPG v1.4.13 (FreeBSD)


More information about the BTC-dev mailing list