summaryrefslogtreecommitdiff
path: root/bin/xfsprogs-summary.sh
blob: ca829551900ae196d6c0a4ec352e9a2e963e3180 (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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
#!/bin/bash

MAINTAINER="Eric Sandeen <[email protected]>"

IFS=$(echo -en "\n\b")

for PATCH in `guilt applied -c`; do
	COMMIT=`echo $PATCH | awk '{print $1}'`
	FILENAME=`echo $PATCH | awk '{print $2}'`

	SUBJECT=`git show --pretty=format:%s $COMMIT | head -n 1`
	AUTHOR=`git show $COMMIT | grep ^Author | awk -F": " '{print $2}'`
	AUTHOR_SOB=`git show $COMMIT | grep -i Signed-off-by: | head -n 1 | awk -F": " '{print $2}'`
	COMMITTER_SOB=`git show $COMMIT | grep -i Signed-off-by: | tail -n 1 | awk -F": " '{print $2}'`
	REVIEWED_BY=`git show $COMMIT | grep -i Reviewed-by: | tail -n 1 | awk -F": " '{print $2}'`

	echo -n "PATCH: $PATCH"

	# Check for double spaces in subject
	if [[ "$SUBJECT" == *"  "* ]]; then
		DOUBLE="true"
	else
		DOUBLE="false"
	fi

	if [ "$REVIEWED_BY" != "" -a \
	     "$AUTHOR" == "$AUTHOR_SOB" -a \
	     "$COMMITTER_SOB" == "$MAINTAINER" -a \
	     "$DOUBLE" == "false" ]; then
		echo " - OK"
	else
		echo
	fi

	if [[ "$SUBJECT" == *"  "* ]]; then
		echo " double spaces in: $SUBJECT"
	fi
	if [ "$REVIEWED_BY" == "" ]; then
		echo " no Reviewed-by:"
	fi
	if [ "$AUTHOR" != "$AUTHOR_SOB" ]; then
		echo " author $AUTHOR sob $AUTHOR_SOB"
	fi
	if [ "$COMMITTER_SOB" != "$MAINTAINER" ]; then
		echo " committer $COMMITTER_SOB maintainer $MAINTAINER"
	fi

done
[root@intel-lizardhead-04 ~]# cat /usr/local/bin/xfsprogs-summary.sh 
#!/bin/bash

cat << EOF
Hi folks,

The xfsprogs repository at:

	git://git.kernel.org/pub/scm/fs/xfs/xfsprogs-dev.git

has just been updated.

Patches often get missed, so please check if your outstanding
patches were in this update. If they have not been in this update,
please resubmit them to [email protected] so they can be
picked up in the next update.

The new head of the master branch is commit:

EOF

git log --oneline -n 1 $* #v6.4.0

echo
echo New Commits:
echo
git shortlog --format="[%h] %s" $*

echo
echo Code Diffstat:
echo
git diff --stat --summary -C -M $*