aboutsummaryrefslogtreecommitdiffstats
path: root/docbook/wsdg_src
diff options
context:
space:
mode:
authorMichael Mann <mmann78@netscape.net>2017-11-25 14:18:06 -0500
committerMichael Mann <mmann78@netscape.net>2017-11-25 22:07:34 +0000
commit18657caf8d5c5388190b29c0cc1b4b94c997d5dc (patch)
treec350b5cd790bb503473fbb0e04b679a35425b1ba /docbook/wsdg_src
parentfdeaaa362a84f49af176b1beb4753396dee8ea18 (diff)
Add information about pre-commit script to Developer Guide.
Bug: 9553 Change-Id: I19505c3c05585a05877e9f0db06400ebb8b33985 Reviewed-on: https://code.wireshark.org/review/24585 Reviewed-by: Michael Mann <mmann78@netscape.net>
Diffstat (limited to 'docbook/wsdg_src')
-rw-r--r--docbook/wsdg_src/WSDG_chapter_sources.asciidoc24
1 files changed, 19 insertions, 5 deletions
diff --git a/docbook/wsdg_src/WSDG_chapter_sources.asciidoc b/docbook/wsdg_src/WSDG_chapter_sources.asciidoc
index c8a2a83c2f..2177c445ed 100644
--- a/docbook/wsdg_src/WSDG_chapter_sources.asciidoc
+++ b/docbook/wsdg_src/WSDG_chapter_sources.asciidoc
@@ -802,12 +802,26 @@ can easily be put into "the big pile", while some are ASN.1 based which takes a
different approach, and some multiple source file dissectors are more suitable to
be placed separately as plugins.
-* 'Verify that your dissector code does not use prohibited or deprecated APIs.'
- This can be done as follows:
+* 'Ensure Wireshark Git Pre-Commit Hook is in the repository.' In your local
+repository directory, there will be a .git/hooks/ directory, with sample git hooks
+for running automatic actions before and after git commands. You can also
+optionally install other hooks that you find useful.
+
-----
-$ perl <wireshark_root>/tools/checkAPIs.pl <source filename(s)>
-----
+In particular, the pre-commit hook will run every time you commit a change and can
+be used to automatically check for various errors in your code. The sample git
+pre-commit hook simply detects whitespace errors such as mixed tabs and spaces;
+to install it just remove the .sample suffice from the existing pre-commit.sample file.
++
+Wireshark provides a custom pre-commit hook which does additional Wireshark-specific API
+and formatting checks, but it might return false positives. If you want to install it,
+copy the pre-commit file from the tools directory (cp ./tools/pre-commit .git/hooks/)
+and make sure it is executable or it will not be run.
++
+If the pre-commit hook is preventing you from committing what you believe is a valid
+change, you can run git commit --no-verify to skip running the hooks. Warning: using
+--no-verify avoids the commit-msg hook, and thus will not automatically add the required
+Change-ID to your commit. In case you are not updating an existing patch you may generate
+a Change-ID by running git review -i (or git commit --amend if don't use git review).
* 'Fuzz test your changes!' Fuzz testing is a very
effective way to automatically find a lot of dissector related bugs.