1. 24 Oct, 2011 3 commits
    • Brad King's avatar
      Merge branch 'itk-hook-cleanup' into hooks · ad08c209
      Brad King authored
    • Matt McCormick's avatar
      Remove pre-commit-style. · 4b2beb61
      Matt McCormick authored and Brad King's avatar Brad King committed
      These pre-commit hooks where added to the ITK specific hook chain since all
      projects do not use them.
      Change-Id: Ifcb41645374914c4f30f7c5f2feb2e5d40a4b3e3
    • Matt McCormick's avatar
      Remove .txx pre-commit check. · 389c1171
      Matt McCormick authored and Brad King's avatar Brad King committed
      This is an ITK specific check.  It is already implemented in
      the ITK Utilities/Hooks/pre-commit script executed in the hook chain.
      This should allow commiting when on the ITK release branch where .txx
      files still currently exist.
      Change-Id: I1115a2129beb89d6657d599aa6e72bb6515dfca3
  2. 06 Oct, 2011 3 commits
    • Brad King's avatar
      hooks-chain: Look for chains in project hooks config · 3bde0fa9
      Brad King authored
      If a local hook chain rule is not in the local git configuration
      check for a value defined in .hooks-config.bash:
      This allows project to configure chained hooks without adding any
      values to the local git configuration.  Since the project hooks
      config can be versioned with the hook scripts it references this
      ensures a consistent state.
    • Brad King's avatar
      Load local hooks configuration from work tree · 18358af3
      Brad King authored
      Look for a ".hooks-config.bash" file at the top of the work tree.
      Load it in each hook to get per-project configuration.  Currently
      we do not define any config options, but this adds the framework.
    • Brad King's avatar
      pre-commit: Remove KWStyle and uncrustify support · e8180f20
      Brad King authored
      These checks can be added in projects that want them using the
      pre-commit hook chaining.
  3. 19 Jul, 2011 1 commit
    • Matt McCormick's avatar
      ENH: pre-commit: Prevent add .txx files. · f059ba93
      Matt McCormick authored
      A transition occurred in the toolkit to move all .txx files to .hxx files.
      This prevents accidental additions of or renames to .txx files.
      Change-Id: Id4ace9cfca2c56506d93396366d146173e015003
  4. 14 Jun, 2011 1 commit
  5. 26 Jan, 2011 2 commits
  6. 13 Jan, 2011 1 commit
  7. 11 Jan, 2011 1 commit
  8. 30 Dec, 2010 3 commits
  9. 17 Nov, 2010 1 commit
    • Brad King's avatar
      commit-msg: Allow long first lines starting in "Revert " · 125100ba
      Brad King authored
      Revert commits always have longer first lines than the commit they
      revert.  Do not reject those that happen to go over the threshold.  It
      is much simpler if the "git revert" command creates the commit without
  10. 16 Nov, 2010 1 commit
    • Brad King's avatar
      Chain to script configured by "hooks.chain-<hook>" · dc31be5b
      Brad King authored
      Chain the pre-commit, commit-msg, and prepare-commit-msg hooks to
      locally configured scripts.  Interpret relative paths with respect to
      the working directory where the hooks run (top of work tree).  This
      allows project setup scripts to add project-specific checks for each of
      these hooks.
  11. 05 Nov, 2010 1 commit
  12. 03 Nov, 2010 1 commit
    • Gaëtan Lehmann's avatar
      make the check for KWStyle executable non blocking · b32ecce7
      Gaëtan Lehmann authored and Matt McCormick's avatar Matt McCormick committed
      At this time, a contributor won't be able to commit a change if KWStyle
      is not installed on the computer. KWStyle is not a very common program,
      and so is likely to have to be installed by hand. This increase the work
      needed to be able to contribute to ITK.
      With this change a warning is displayed if KWStyle is not installed
      but the commit is not blocked.
      Change-Id: I0719ee5ac6e048120504bbdc4dc022043c0f0ded
  13. 27 Sep, 2010 2 commits
    • Brad King's avatar
      Merge branch 'style-checks' into hooks · c4607863
      Brad King authored
    • Matt McCormick's avatar
      pre-commit: Apply uncrustify and KWStyle check for modified files. · d5bb0764
      Matt McCormick authored
      uncrustify (uncrustify.sourceforge.net) is applied to changed files prior to
      This feature is off by default.  To enable this behavior, set
        git config hooks.uncrustify true
      By default, the behavior of git-mergetool is used to review the changes
      uncrustify makes before they are added to the commit.  For more information on
      this behavior, see
        git help mergetool
      KWStyle is run on the changed C++ files and the commit is aborted if the files
      do not pass the test.  A file similar to the original is saved with a '*.kws'
      extension so that line numbers referenced in the error message can be examined.
      The test is off by default.  To enable this behavoir, set
        git config hooks.KWStyle true
      Project specific uncrustify and KWStyle configuration files are set with 'git
      config'.  For example,
        git config hooks.uncrustify.conf path/to/uncrustify.conf
        git config hooks.KWStyle.conf path/to/KWStyle.conf
        git config hooks.KWStyle.overwriteRulesConf path/to/overwrite.conf # optional
      If the appropriate values have not been set, die() is called.  An
      optional KWStyle overwrite rules file can also been configured.
      The files on which to run the style checks must also be identified in the
      repository's '.gitattributes'.  For example,
        *.h    hooks.style
        *.cpp  hooks.style
      Or, to only enable a subset of style hooks,
        *.h    hooks.style=KWStyle
        *.cpp  hooks.style=KWStyle,uncrustify
      Change-Id: Ia6b2d4136af3002eb0ec5d36f03c50df928917f4
  14. 15 Sep, 2010 1 commit
    • Brad King's avatar
      pre-commit: Allow submodule check to be disabled · 19f86ec1
      Brad King authored
      If hooks.submodule is 'false' disable all checks.  If an individual
      hooks.<module>.update is 'true' then accept any update for that module.
      Leave these options out of the hints printed.  Developers that know what
      they are doing will be able to find them by reading the hook source.
  15. 14 Sep, 2010 1 commit
  16. 31 Aug, 2010 1 commit
  17. 30 Aug, 2010 6 commits
  18. 27 Aug, 2010 2 commits
  19. 25 Aug, 2010 1 commit
  20. 10 Aug, 2010 1 commit
    • Brad King's avatar
      pre-commit: Check submodules staged with other changes · 48e72dd1
      Brad King authored
      Since Git does not automatically update submodule checkouts when
      checking out a new version in the work tree, it is common to have
      locally modified submodule references.  Therefore it is easy to stage
      such modifications with other changes by accident, especially with
      commands like "git add -u" or "git commit -a".  The result is almost
      always wrong if the submodule change is not intended.
      Prevent such mistakes by requiring an extra step to commit submodule
      link updates with other changes.  When this case is detected, print a
      message describing the situation and provide cut-and-paste instructions
      to proceed.
  21. 03 Aug, 2010 1 commit
    • Gaëtan Lehmann's avatar
      Reference bash explicitly in shebang lines · 8653d286
      Gaëtan Lehmann authored and Brad King's avatar Brad King committed
      On Solaris, where /bin/sh is actually sh, not bash, some expressions
      like $() are not supported.  Git's own scripts on this machine are
      configured to use "#!/bin/bash".  Change our shebang line to
        #!/usr/bin/env bash
      which should work almost everywhere.
  22. 16 Jun, 2010 1 commit
  23. 07 Jun, 2010 3 commits
  24. 20 May, 2010 1 commit
    • Brad King's avatar
      pre-commit: Check file modes · 7827726e
      Brad King authored
      Check new files and files whose mode changes to verify that each file
      mode matches the content of the file.  The mode of a file must be
      executable if and only if the file looks executable (name ends in a
      Windows executable extension or content starts with a shebang line).