aboutsummaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorJohn Newbery <john@johnnewbery.com>2017-09-22 16:10:25 -0400
committerJohn Newbery <john@johnnewbery.com>2017-09-24 08:16:48 -0400
commit90ab62c4512942f1d252259a892e1cbeeb92789e (patch)
treee682885f63f58961f125443d8d52bbd7d014ce98 /doc
parent94c9015bca861085f76ca3c045e17d0591aa6c8b (diff)
downloadbitcoin-90ab62c4512942f1d252259a892e1cbeeb92789e.tar.xz
[docs] document scripted-diff
Diffstat (limited to 'doc')
-rw-r--r--doc/developer-notes.md20
1 files changed, 20 insertions, 0 deletions
diff --git a/doc/developer-notes.md b/doc/developer-notes.md
index 8fdae25340..33c6ab9cb3 100644
--- a/doc/developer-notes.md
+++ b/doc/developer-notes.md
@@ -549,6 +549,26 @@ Git and GitHub tips
or `git fetch upstream-pull`. Afterwards, you can use `upstream-pull/NUMBER/head` in arguments to `git show`,
`git checkout` and anywhere a commit id would be acceptable to see the changes from pull request NUMBER.
+Scripted diffs
+--------------
+
+For reformatting and refactoring commits where the changes can be easily automated using a bash script, we use
+scripted-diff commits. The bash script is included in the commit message and our Travis CI job checks that
+the result of the script is identical to the commit. This aids reviewers since they can verify that the script
+does exactly what it's supposed to do. It is also helpful for rebasing (since the same script can just be re-run
+on the new master commit).
+
+To create a scripted-diff:
+
+- start the commit message with `scripted-diff:` (and then a description of the diff on the same line)
+- in the commit message include the bash script between lines containing just the following text:
+ - `-BEGIN VERIFY SCRIPT-`
+ - `-END VERIFY SCRIPT-`
+
+The scripted-diff is verified by the tool `contrib/devtools/commit-script-check.sh`
+
+Commit `bb81e173` is an example of a scripted-diff.
+
RPC interface guidelines
--------------------------