mirror of https://github.com/einverne/dotfiles.git
Ein Verne
5 years ago
1 changed files with 76 additions and 0 deletions
@ -0,0 +1,76 @@
|
||||
#!/bin/bash - |
||||
#=============================================================================== |
||||
# |
||||
# FILE: git-log.sh |
||||
# |
||||
# USAGE: ./git-log.sh |
||||
# |
||||
# DESCRIPTION: |
||||
# |
||||
# OPTIONS: --- |
||||
# REQUIREMENTS: --- |
||||
# BUGS: --- |
||||
# NOTES: --- |
||||
# AUTHOR: YOUR NAME (), |
||||
# ORGANIZATION: |
||||
# CREmTED: 10/18/2019 06:04:51 PM |
||||
# REVISION: --- |
||||
#=============================================================================== |
||||
|
||||
set -o nounset # Treat unset variables as an error |
||||
|
||||
|
||||
# Generates git changelog grouped by day and output it to file |
||||
# |
||||
# optional parameters |
||||
# -a to filter by author |
||||
# -s to select start date |
||||
# -e to select end date |
||||
# -o to save it to file |
||||
# -r to specify the repository path |
||||
|
||||
NEXT=$(date +%F) |
||||
SINCE="last.Monday" |
||||
UNTIL=$NEXT |
||||
AUTHOR=$(git config user.email) |
||||
OUTPUT="$(date +%F).log" |
||||
|
||||
while getopts "a:s:e:o:r:" arg |
||||
do |
||||
case $arg in |
||||
a) |
||||
AUTHOR=$OPTARG |
||||
;; |
||||
s) |
||||
SINCE=$OPTARG |
||||
;; |
||||
e) |
||||
UNTIL=$OPTARG |
||||
;; |
||||
o) |
||||
OUTPUT=$OPTARG |
||||
;; |
||||
r) |
||||
REPO=$OPTARG |
||||
;; |
||||
?) |
||||
echo "unknown argument" |
||||
exit 1 |
||||
;; |
||||
esac |
||||
done |
||||
|
||||
( |
||||
git -C "${REPO}" log --author="${AUTHOR}" --since="${SINCE}" --until="${UNTIL}" --format="%cd" --date=short | sort -u | while read DATE ; do |
||||
GIT_PAGER=$(git -C "${REPO}" log --no-merges --reverse --format="* %s" --since="${DATE} 00:00:00" --until="${DATE} 23:59:59" --author="${AUTHOR}") |
||||
if [ ! -z "$GIT_PAGER" ] |
||||
then |
||||
echo "[${DATE}]" |
||||
echo "${GIT_PAGER}" |
||||
echo |
||||
fi |
||||
done |
||||
) > $OUTPUT |
||||
|
||||
echo "log is written to ${OUTPUT}" |
||||
|
Loading…
Reference in new issue