You've already forked TrustTunnelClient
mirror of
https://github.com/TrustTunnel/TrustTunnelClient.git
synced 2026-02-03 10:11:13 -08:00
Squashed commit of the following:
commit 3e269033f16e4672860c0fe24cbe8df4b09065f4
Author: Sergey Fionov <sfionov@adguard.com>
Date: Wed Dec 24 20:09:14 2025 +0300
Applied suggestion
commit 14468d33f3ae87accce3a2f2a5c31744a13ac70c
Merge: e359993e 305f5b9a
Author: Andrey Meshkov <am@adguard.com>
Date: Wed Dec 24 20:06:20 2025 +0300
Merge with master
commit e359993e58219942ed5515e54177a8c0250d5efe
Author: Andrey Meshkov <am@adguard.com>
Date: Wed Dec 24 19:59:48 2025 +0300
Fixed python issue
commit 652c8481c7707cf8f8ef7743009fafd7597b280c
Author: Andrey Meshkov <am@adguard.com>
Date: Wed Dec 24 19:47:57 2025 +0300
clang-format
commit d43bf98b664a1136eb28c93304c0fe6b6bf1f247
Author: Andrey Meshkov <am@adguard.com>
Date: Wed Dec 24 19:47:47 2025 +0300
Added lint targets
92 lines
2.2 KiB
Bash
Executable File
92 lines
2.2 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
set -e -f -u
|
|
|
|
# This comment is used to simplify checking local copies of the script. Bump
|
|
# this number every time a significant change is made to this script.
|
|
#
|
|
# AdGuard-Project-Version: 1
|
|
|
|
# Only show interactive prompts if there a terminal is attached to stdout.
|
|
# While this technically doesn't guarantee that reading from /dev/tty works,
|
|
# this should work reasonably well on all of our supported development systems
|
|
# and in most terminal emulators.
|
|
is_tty='0'
|
|
if [ -t '1' ]; then
|
|
is_tty='1'
|
|
fi
|
|
readonly is_tty
|
|
|
|
# prompt is a helper that prompts the user for interactive input if that can be
|
|
# done. If there is no terminal attached, it sleeps for two seconds, giving the
|
|
# programmer some time to react, and returns with a zero exit code.
|
|
prompt() {
|
|
if [ "$is_tty" -eq '0' ]; then
|
|
sleep 2
|
|
|
|
return 0
|
|
fi
|
|
|
|
while true; do
|
|
printf 'commit anyway? y/[n]: '
|
|
read -r ans </dev/tty
|
|
|
|
case "$ans" in
|
|
'y' | 'Y')
|
|
break
|
|
;;
|
|
'' | 'n' | 'N')
|
|
exit 1
|
|
;;
|
|
*)
|
|
continue
|
|
;;
|
|
esac
|
|
done
|
|
}
|
|
|
|
# Warn the programmer about unstaged changes and untracked files, but do not
|
|
# fail the commit, because those changes might be temporary or for a different
|
|
# branch.
|
|
#
|
|
# shellcheck disable=SC2016
|
|
awk_prog='substr($2, 2, 1) != "." { print $9; } $1 == "?" { print $2; }'
|
|
readonly awk_prog
|
|
|
|
unstaged="$(git status --porcelain=2 | awk "$awk_prog")"
|
|
readonly unstaged
|
|
|
|
if [ "$unstaged" != '' ]; then
|
|
printf 'WARNING: you have unstaged changes:\n\n%s\n\n' "$unstaged"
|
|
prompt
|
|
fi
|
|
|
|
# Warn the programmer about temporary todos and skel FIXMEs, but do not fail the
|
|
# commit, because the commit could be in a temporary branch.
|
|
temp_todos="$(
|
|
git grep -e 'TODO.*!!' -- \
|
|
':!./scripts/hooks/pre-commit' \
|
|
|| :
|
|
)"
|
|
readonly temp_todos
|
|
|
|
if [ "$temp_todos" != '' ]; then
|
|
printf 'WARNING: you have temporary todos:\n\n%s\n\n' "$temp_todos"
|
|
prompt
|
|
fi
|
|
|
|
verbose="${VERBOSE:-0}"
|
|
readonly verbose
|
|
|
|
if [ "$(git diff --cached --name-only -- '*.md' || :)" != '' ]; then
|
|
make VERBOSE="$verbose" lint-md
|
|
fi
|
|
|
|
if [ "$(git diff --cached --name-only -- '*.rs' 'Cargo.toml' 'Cargo.lock' || :)" != '' ]; then
|
|
make VERBOSE="$verbose" lint-rust test-rust
|
|
fi
|
|
|
|
if [ "$(git diff --cached --name-only -- '*.cpp' '*.h' || :)" != '' ]; then
|
|
make VERBOSE="$verbose" lint-cpp test-cpp
|
|
fi
|