xref: /xnu-8796.101.5/tools/pre-commit.sh (revision aca3beaa3dfbd42498b42c5e5ce20a938e6554e5)
1*aca3beaaSApple OSS Distributions#!/bin/sh
2*aca3beaaSApple OSS Distributionsset -e
3*aca3beaaSApple OSS Distributions
4*aca3beaaSApple OSS Distributions# Abort a commit if the code style is incorrect.
5*aca3beaaSApple OSS Distributions
6*aca3beaaSApple OSS Distributions# Get a list of paths with staged changes.
7*aca3beaaSApple OSS DistributionsFILES=$(git diff --staged --name-only)
8*aca3beaaSApple OSS Distributions# Check the paths for style issues.
9*aca3beaaSApple OSS DistributionsRESULT=0
10*aca3beaaSApple OSS Distributionsif [ ! -z "$FILES" ]; then
11*aca3beaaSApple OSS Distributions    # Stash any unstaged changes.
12*aca3beaaSApple OSS Distributions    git stash --quiet --keep-index
13*aca3beaaSApple OSS Distributions    ./tools/uncrustify.sh $FILES || RESULT=$?
14*aca3beaaSApple OSS Distributions    # Restore the unstaged changes.
15*aca3beaaSApple OSS Distributions    git stash pop --quiet
16*aca3beaaSApple OSS Distributionsfi
17*aca3beaaSApple OSS Distributionsexit $RESULT
18