blob: e0eb6a45a2efad1e70793c8c7b6637f60abda137 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
|
#!/bin/bash
check_fixes() {
local TAG=$(echo $1 | sed -e 's/^[ ]*//' | sed 's/^[F,f]ixes://')
local HASH=$(echo $TAG | awk '{print $1}')
git log -1 --format='%s' $HASH &> /dev/null
if [ $? -ne 0 ]; then
echo "Patch $HASH"
echo "$TAG"
echo "...does not exist"
exit 1
fi
local BROKEN_SUB=$(git log -1 --format='%s' $HASH)
local SUB=$(echo $TAG | awk 'gsub($1, "")'| \
sed -e 's/^[ ]*//' | \
sed -e 's/^(//' | \
sed -e 's/)$//' |\
sed -e 's/^"//' | \
sed -e 's/"$//')
if [ "$SUB" != "$BROKEN_SUB" ]; then
echo "Broken patch does not match Fixes tag:"
echo "PATCH: $HASH"
else
echo "Strings match"
fi
}
check_patch() {
local PATCH=$1
local COMMIT_MSG=$(git log -1 $PATCH)
local HAS_FIXES=`echo "$COMMIT_MSG" |grep -i fixes:`
if [ -n "$HAS_FIXES" ]; then
check_fixes "$HAS_FIXES"
fi
}
LAST=$1
PATCHES=$(for i in `git log --oneline --no-merges $LAST.. | awk '{print $1}'`; do echo $i; done)
for i in $PATCHES; do
check_patch $i
done
|