#!/bin/bash # Copy this file into .git/hooks/pre-commit to execute before each commit. # It checks and corrects the format for each file. # If incorrect formatting is found you can add the correction via git add -p echo "Checking format before committing" if git ref-parse --verify HEAD >/dev/null 2>&1 then against=HEAD else # Initial commit: diff against an empty tree object against=280fc57fade28e35046c3e884e587ffef05d3867 fi # Redirect output to stderr. exec 1>&2 # Create a list of files to format. files=() for file in `git diff --cached --name-only` do # only indent existing files, this is necessary since if we rename or delete # a file it is added to the committed files and we thus would try to indent a # nonexisting file. if [ ! -e $file ] then continue fi # We only indent .jl files FILE_ENDING="${file##*.}" if [ $FILE_ENDING = "jl" ] then files+=($file) fi done julia utils/trixi-format-file.jl "${files[@]}"