Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Select an option

  • Save MartyLake/17ecdf00d6036b0f5773fa7bcd313e69 to your computer and use it in GitHub Desktop.

Select an option

Save MartyLake/17ecdf00d6036b0f5773fa7bcd313e69 to your computer and use it in GitHub Desktop.

Revisions

  1. MartyLake revised this gist Oct 18, 2018. 1 changed file with 5 additions and 0 deletions.
    5 changes: 5 additions & 0 deletions corelibs-arduino101-pre-commit
    Original file line number Diff line number Diff line change
    @@ -3,6 +3,11 @@
    # This pre-commit hook checks if clang-format-7
    # is installed, and if so, uses the installed version to format
    # the staged changes.
    #
    # Installation instructions from : https://github.com/arduino/ArduinoCore-arc32/wiki/Creating-a-pre-commit-hook-for-clang-format
    # cd your-repository
    # curl https://gist.githubusercontent.com/MartyLake/17ecdf00d6036b0f5773fa7bcd313e69/raw > .git/hooks/pre-commit
    # chmod a+x .git/hooks/pre-commit

    base=clang-format-7
    format=""
  2. MartyLake revised this gist Oct 18, 2018. 1 changed file with 0 additions and 3 deletions.
    3 changes: 0 additions & 3 deletions corelibs-arduino101-pre-commit
    Original file line number Diff line number Diff line change
    @@ -4,9 +4,6 @@
    # is installed, and if so, uses the installed version to format
    # the staged changes.

    maj_min=1
    maj_max=3

    base=clang-format-7
    format=""

  3. MartyLake revised this gist Oct 18, 2018. 1 changed file with 5 additions and 19 deletions.
    24 changes: 5 additions & 19 deletions corelibs-arduino101-pre-commit
    Original file line number Diff line number Diff line change
    @@ -1,13 +1,13 @@
    #!/bin/sh
    #
    # This pre-commit hook checks if any versions of clang-format
    # are installed, and if so, uses the installed version to format
    # This pre-commit hook checks if clang-format-7
    # is installed, and if so, uses the installed version to format
    # the staged changes.

    maj_min=1
    maj_max=3

    base=clang-format
    base=clang-format-7
    format=""

    # Redirect output to stderr.
    @@ -16,25 +16,11 @@ exec 1>&2
    # check if clang-format is installed
    type "$base" >/dev/null 2>&1 && format="$base"

    # if not, check all possible versions
    # (i.e. clang-format-<$maj_min-$maj_max>-<0-9>)
    if [ -z "$format" ]
    then
    for j in `seq $maj_max -1 $maj_min`
    do
    for i in `seq 0 9`
    do
    type "$base-$j.$i" >/dev/null 2>&1 && format="$base-$j.$i" && break
    done
    [ -z "$format" ] || break
    done
    fi

    # no versions of clang-format are installed
    if [ -z "$format" ]
    then
    echo "$base is not installed. Pre-commit hook will not be executed."
    exit 0
    exit -1
    fi

    if git rev-parse --verify HEAD >/dev/null 2>&1
    @@ -48,5 +34,5 @@ fi
    # do the formatting
    for file in `git diff-index --cached --name-only $against`
    do
    "$format" -i "$file"
    "$format" -style=file -i "$file"
    done
  4. @eriknyquist eriknyquist revised this gist Jul 7, 2016. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion corelibs-arduino101-pre-commit
    Original file line number Diff line number Diff line change
    @@ -46,7 +46,7 @@ else
    fi

    # do the formatting
    for file in `git diff-index --cached --name-only HEAD`
    for file in `git diff-index --cached --name-only $against`
    do
    "$format" -i "$file"
    done
  5. @eriknyquist eriknyquist created this gist Jun 29, 2016.
    52 changes: 52 additions & 0 deletions corelibs-arduino101-pre-commit
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,52 @@
    #!/bin/sh
    #
    # This pre-commit hook checks if any versions of clang-format
    # are installed, and if so, uses the installed version to format
    # the staged changes.

    maj_min=1
    maj_max=3

    base=clang-format
    format=""

    # Redirect output to stderr.
    exec 1>&2

    # check if clang-format is installed
    type "$base" >/dev/null 2>&1 && format="$base"

    # if not, check all possible versions
    # (i.e. clang-format-<$maj_min-$maj_max>-<0-9>)
    if [ -z "$format" ]
    then
    for j in `seq $maj_max -1 $maj_min`
    do
    for i in `seq 0 9`
    do
    type "$base-$j.$i" >/dev/null 2>&1 && format="$base-$j.$i" && break
    done
    [ -z "$format" ] || break
    done
    fi

    # no versions of clang-format are installed
    if [ -z "$format" ]
    then
    echo "$base is not installed. Pre-commit hook will not be executed."
    exit 0
    fi

    if git rev-parse --verify HEAD >/dev/null 2>&1
    then
    against=HEAD
    else
    # Initial commit: diff against an empty tree object
    against=4b825dc642cb6eb9a060e54bf8d69288fbee4904
    fi

    # do the formatting
    for file in `git diff-index --cached --name-only HEAD`
    do
    "$format" -i "$file"
    done