Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
sqlmapproject
GitHub Repository: sqlmapproject/sqlmap
Path: blob/master/extra/shutils/precommit-hook.sh
2992 views
1
#!/bin/bash
2
3
: '
4
cat > .git/hooks/pre-commit << EOF
5
#!/bin/bash
6
7
source ./extra/shutils/precommit-hook.sh
8
EOF
9
10
chmod +x .git/hooks/pre-commit
11
'
12
13
PROJECT="../../"
14
SETTINGS="../../lib/core/settings.py"
15
DIGEST="../../data/txt/sha256sums.txt"
16
17
declare -x SCRIPTPATH="${0}"
18
19
PROJECT_FULLPATH=${SCRIPTPATH%/*}/$PROJECT
20
SETTINGS_FULLPATH=${SCRIPTPATH%/*}/$SETTINGS
21
DIGEST_FULLPATH=${SCRIPTPATH%/*}/$DIGEST
22
23
git diff $SETTINGS_FULLPATH | grep "VERSION =" > /dev/null && exit 0
24
25
if [ -f $SETTINGS_FULLPATH ]
26
then
27
LINE=$(grep -o ${SETTINGS_FULLPATH} -e '^VERSION = "[0-9.]*"')
28
declare -a LINE
29
INCREMENTED=$(python -c "import re, sys, time; version = re.search('\"([0-9.]*)\"', sys.argv[1]).group(1); _ = version.split('.'); _.extend([0] * (4 - len(_))); _[-1] = str(int(_[-1]) + 1); month = str(time.gmtime().tm_mon); _[-1] = '0' if _[-2] != month else _[-1]; _[-2] = month; print sys.argv[1].replace(version, '.'.join(_))" "$LINE")
30
if [ -n "$INCREMENTED" ]
31
then
32
sed -i "s/${LINE}/${INCREMENTED}/" $SETTINGS_FULLPATH
33
echo "Updated ${INCREMENTED} in ${SETTINGS_FULLPATH}"
34
else
35
echo "Something went wrong in VERSION increment"
36
exit 1
37
fi
38
git add "$SETTINGS_FULLPATH"
39
fi
40
41
cd $PROJECT_FULLPATH && git ls-files | sort | uniq | grep -Pv '^\.|sha256' | xargs sha256sum > $DIGEST_FULLPATH && cd -
42
git add "$DIGEST_FULLPATH"
43
44