Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

The above configuration shows that for OpenJDK project Skara git-jcheck will verify that commits have an author with full name and e-mail, is reviewed by at least one Reviewer from project Skara and that files with the suffixes .java, .yml, .gradle and .txt do not contain tabs, carriage returns or trailing whitespace.

Since the .jcheck/conf file is versioned every commit is checked according to the conventions described in the .jcheck/conf file in that commit. This means checks can be added and/or removed and old commits will still be checked correctly. If no .jcheck/file is present in a commit then git-jcheck exits with status code 0.

Usage

Code Block
$ git jcheck -h
usage: git jcheck [options] 
        -r, --rev REV                      Check the specified revision or range (default: HEAD)
            --whitelist FILE               Use the specified whitelist (default: .jcheck/whitelist.json)
            --blacklist FILE               Use the specified blacklist (default: .jcheck/blacklist.json)
            --census FILE                  Use the specified census (default: https://openjdk.java.net/census.xml)
            --ignore CHECKS                Ignore errors from checks with the given name
            --setup-pre-push-hook          Set up a pre-push hook that runs jcheck on commits to be pushed
        -m, --mercurial                    Deprecated: force use of mercurial
           -v, --verbose                      Turn on verbose output
            --debug                        Turn on debugging output
            --lax                          Check comments, tags and whitespace laxly
        -s, --strict                       Check everything
        -v, --version                      Print the version of this tool
        -h, --help                  Show this help text
			--conf-staged			Use staged .jcheck/conf
			--conf-working-tree		Use .jcheck/conf in current working tree
			--staged				Check staged changes as if they were committed
			--working-tree			Check changes in working tree as if they were committed                  Show  this  help  text  

Examples

Run git-jcheck on the HEAD commit:

Code Block
languagebash
$ git jcheck


Run git-jcheck on all commits between master and HEAD:

...

Note: if git-jcheck discovers any errors then the push will be aborted.

Configuration

All options to git-jcheck can be configured via Git's configuration files. For example, the following will always use a local version of census stored in ~/.jcheck/census.xml when running git-jcheck:

Code Block
languagebash
$ git config --global jcheck.census "$HOME/.jcheck/census.xml"

If you want to always ignore the "branches" check then just configure "jcheck.ignore" as in the following example:

Code Block
languagebash
$ git config --global jcheck.ignore branches

Source

See GitJCheck.java.