Skip to content

Instantly share code, notes, and snippets.

@guilherme
Last active February 24, 2024 20:39
Show Gist options
  • Save guilherme/9604324 to your computer and use it in GitHub Desktop.
Save guilherme/9604324 to your computer and use it in GitHub Desktop.
Git pre-commit hook that detects if the developer forget to remove all the javascript console.log before commit.
#!/bin/sh
# Redirect output to stderr.
exec 1>&2
# enable user input
exec < /dev/tty
consoleregexp='console.log'
# CHECK
if test $(git diff --cached | grep $consoleregexp | wc -l) != 0
then
exec git diff --cached | grep -ne $consoleregexp
read -p "There are some occurrences of console.log at your modification. Are you sure want to continue? (y/n)" yn
echo $yn | grep ^[Yy]$
if [ $? -eq 0 ]
then
exit 0; #THE USER WANTS TO CONTINUE
else
exit 1; # THE USER DONT WANT TO CONTINUE SO ROLLBACK
fi
fi
@Maximauve
Copy link

@TimCreasman thanks for this script, I tested it on Windows / Linux and it seems that the -r argument on tail -r in your OffendingDiff is unkown.

I found the tac command that works just fine

git diff --cached --color=always | tac | awk "/$1/{flag=1}/diff/{flag=0}flag" | tac

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment