[docs] document scripted-diff

This commit is contained in:
John Newbery 2017-09-22 16:10:25 -04:00 committed by Jack Grigg
parent 6b6f3b5649
commit 9645ae5be0
1 changed files with 22 additions and 1 deletions

View File

@ -244,3 +244,24 @@ ACK - A loose ACK can be confusing. It's best to avoid them unless it's a docum
NACK - Disagree with the code changes/concept. Should be accompanied by an explanation.
See the [Development Guidelines](https://zcash.readthedocs.io/en/latest/rtd_pages/development_guidelines.html) documentation for preferred workflows, information on continuous integration and release versioning.
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.