mirror of
https://github.com/captn3m0/Scripts.git
synced 2024-09-27 22:22:53 +00:00
51 lines
936 B
Bash
51 lines
936 B
Bash
|
function git_history {
|
||
|
git log $filename | grep "Date: "
|
||
|
}
|
||
|
|
||
|
function first_commit {
|
||
|
git_history | tail -1
|
||
|
}
|
||
|
|
||
|
function last_commit {
|
||
|
git_history | head -1
|
||
|
}
|
||
|
|
||
|
function number_of_commits {
|
||
|
git_history | wc -l
|
||
|
}
|
||
|
|
||
|
function legible_output {
|
||
|
# $2: filename
|
||
|
# $1: lines of code
|
||
|
# $3: number of commits
|
||
|
# $6: month (first)
|
||
|
# $7: date (first)
|
||
|
# $9: year (first)
|
||
|
# $13: month (last)
|
||
|
# $14: date (last)
|
||
|
# $16: year (last)
|
||
|
awk '{print $2 "," $1 "," $3 "," $6 " " $7 " " $9 "," $13 " " $14 " " $16}'
|
||
|
}
|
||
|
|
||
|
function csv_lines_for {
|
||
|
for filename in $(find . -iname "*.$1"); do
|
||
|
echo "`wc -l $filename` `number_of_commits` `first_commit` `last_commit`" |
|
||
|
legible_output |
|
||
|
xargs echo
|
||
|
done
|
||
|
}
|
||
|
|
||
|
function create_csv {
|
||
|
echo "filename,lines of code,number of commits,date of first commit,date of last commit"
|
||
|
|
||
|
for argument in "$@"
|
||
|
do
|
||
|
csv_lines_for $argument
|
||
|
done
|
||
|
}
|
||
|
|
||
|
cd $1
|
||
|
create_csv $@
|
||
|
cd -
|
||
|
|