-
Notifications
You must be signed in to change notification settings - Fork 0
/
timesheet
executable file
·57 lines (47 loc) · 2.15 KB
/
timesheet
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
#!/bin/bash
TODAY=`date +%Y%m%d`
EXPECTED_ARGS=1
E_BADARGS=65
AUTHOR_NAME_REGEX=".*"
DATE_REGEX="[1-9][0-9][0-9][0-9]-[0-1][0-9]-[0-3][0-9]"
DAY_REGEX="[0-3][0-9]"
if [ $# -lt $EXPECTED_ARGS ]
then
git log --pretty="short" --format=%Cblue%h%' 'Cgreen%an[%ad]%' 'Creset%s%n --date=short
fi
if [[ $# -eq $EXPECTED_ARGS && $1 =~ $AUTHOR_NAME_REGEX ]]
then
git log --pretty="short" --format=%Cblue%h%' 'Cgreen%an[%ad]%' 'Creset%s%n --date=short --author=$1
fi
if [[ $# -eq $EXPECTED_ARGS && $1 =~ $DATE_REGEX ]]
then
git log --pretty="short" --format=%Cblue%h%' 'Cgreen%an[%ad]%' 'Creset%s%n --date=short --after={$1}
fi
if [[ $# -gt $EXPECTED_ARGS && $# -eq 2 && $1 =~ $DATE_REGEX && $2 =~ $AUTHOR_NAME_REGEX ]]
then
git log --pretty="short" --format=%Cblue%h%' 'Cgreen%an[%ad]%' 'Creset%s%n --date=short --after={$1} --author=$2
fi
if [[ $# -gt $EXPECTED_ARGS && $# -eq 2 && $1 =~ $DATE_REGEX && $2 =~ $DATE_REGEX ]]
then
git log --pretty="short" --format=%Cblue%h%' 'Cgreen%an[%ad]%' 'Creset%s%n --date=short --after={$1} --before={$2}
fi
if [[ $# -gt $EXPECTED_ARGS && $# -eq 3 && $1 =~ $DATE_REGEX && $2 =~ $DATE_REGEX && $3 =~ $AUTHOR_NAME_REGEX ]]
then
git log --pretty="short" --format=%Cblue%h%' 'Cgreen%an[%ad]%' 'Creset%s%n --date=short --after={$1} --before=${2} --author=$3
fi
if [[ $# -eq $EXPECTED_ARGS && $1 =~ $DAY_REGEX ]]
then
git log --pretty="short" --format=%Cblue%h%' 'Cgreen%an[%ad]%' 'Creset%s%n --date=short --after={$1-%m-%Y}
fi
if [[ $# -gt $EXPECTED_ARGS && $# -eq 2 && $1 =~ $DAY_REGEX && $2 =~ $DAY_REGEX ]]
then
git log --pretty="short" --format=%Cblue%h%' 'Cgreen%an[%ad]%' 'Creset%s%n --date=short --after={$1-%m-%Y} --before={$2-%m-%Y}
fi
if [[ $# -gt $EXPECTED_ARGS && $# -eq 2 && $1 =~ $DAY_REGEX && $2 =~ $AUTHOR_NAME_REGEX ]]
then
git log --pretty="short" --format=%Cblue%h%' 'Cgreen%an[%ad]%' 'Creset%s%n --date=short --after={$1-%m-%Y} --author=$2
fi
if [[ $# -gt $EXPECTED_ARGS && $# -eq 3 && $1 =~ $DAY_REGEX && $2 =~ $DAY_REGEX && $3 =~ $AUTHOR_NAME_REGEX ]]
then
git log --pretty="short" --format=%Cblue%h%' 'Cgreen%an[%ad]%' 'Creset%s%n --date=short --after={$1-%m-%Y} --before={$2-%m-%Y} --author=$3
fi