File: query-git-stats.sh

package info (click to toggle)
jetty9 9.4.57-1.1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 52,280 kB
  • sloc: java: 442,605; xml: 25,482; javascript: 1,039; sh: 908; jsp: 268; sql: 40; makefile: 16
file content (32 lines) | stat: -rwxr-xr-x 850 bytes parent folder | download | duplicates (10)
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