Skip to content
Snippets Groups Projects

Check if text files have correct file ending

Merged Florian Uhlig requested to merge f.uhlig/cbmroot_parameter:add_code_owners into master
2 files
+ 71
0
Compare changes
  • Side-by-side
  • Inline
Files
2
+ 53
0
#!/bin/bash
# Copyright (C) 2021 GSI Helmholtzzentrum fuer Schwerionenforschung, Darmstadt
# SPDX-License-Identifier: GPL-3.0-only
# First commited by Florian Uhlig
if [[ $# -eq 1 ]]; then
UPSTREAM=$1
else
if [ -z $UPSTREAM ]; then
UPSTREAM=$(git remote -v | grep git.cbm.gsi.de[:/]CbmSoft/cbmroot_parameter | cut -f1 | uniq)
if [ -z $UPSTREAM ]; then
echo "Error: Name of upstream repository not provided and not found by automatic means"
echo 'Please provide if by checking your remotes with "git remote -v" and exporting UPSTREAM'
echo "or passing as an argument"
exit -1
fi
fi
fi
echo "Upstream name is :" $UPSTREAM
# If one wants to find all files in the CbmRoot and not only the changed ones
# uncomment the follwing line and comment the next two
#CHANGED_FILES=$(find . -type f -not \( -path "./.git/*" -o -path "./geometry/*" -o -path "./input/*" -o -path "./external/*" -o -path "./parameters/*" -prune \))
BASE_COMMIT=$UPSTREAM/master
CHANGED_FILES=$(git diff --name-only $BASE_COMMIT)
echo ""
for file in $CHANGED_FILES; do
# First check for text files and only do the further test on line endings
# for text files
result=$(file $file | grep -v text)
if [[ -z $result ]]; then
if [[ $(tail -c 1 $file) ]]; then
echo "File $file does not finish with end of line"
okay=false
fi
fi
done
if [[ "$okay" = "false" ]]; then
echo ""
echo "Not all files have the correct file ending"
echo "Test failed"
echo ""
exit 1
else
exit 0
fi
Loading