File: query-git-stats.sh

package info (click to toggle)
jetty9 9.2.21-1%2Bdeb9u1
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 34,284 kB
  • sloc: java: 303,318; xml: 17,352; sh: 867; jsp: 286; sql: 38; makefile: 8
file content (32 lines) | stat: -rwxr-xr-x 850 bytes parent folder | download | duplicates (8)
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
#!/bin/bash

EXCLUDED_FILES="/\.xml$/d;/\.txt$/d;/package-info\.java/d;/\.yml$/d;/\.md$/d;/\.mod$/d"
EXCLUDED_PATHS="/jetty-ant\//d;/tests\//d;/examples\//d;/\/src\/test\//d"

FILTEREDLOG=git-filtered.log

git log \
  --after '2015-12-01 00:00' \
  --until '2016-03-31 23:59' \
  --oneline > $FILTEREDLOG

UNIQCOMMITS=$(cat $FILTEREDLOG | wc -l)

git log \
  --after '2015-12-01 00:00' \
  --until '2016-03-31 23:59' \
  --numstat --format= | sed \
    -e "$EXCLUDED_FILES" \
    -e "$EXCLUDED_PATHS" \
    | sort --key=3 > $FILTEREDLOG

UNIQFILES=$(cat $FILTEREDLOG | cut -f 3- | uniq | wc -l)

# Show output
echo "$UNIQCOMMITS unique commits"
echo "$UNIQFILES unique files"
cat $FILTEREDLOG | awk '{total = total + $1}END{print total " lines added"}'
cat $FILTEREDLOG | awk '{total = total + $2}END{print total " lines removed"}'

rm $FILTEREDLOG