added plugin to create git changelog and formatted code
parent
1fbd91ebf9
commit
92d814b2f6
|
|
@ -160,10 +160,10 @@ function git_stats {
|
|||
about 'display stats per author'
|
||||
group 'git'
|
||||
|
||||
# awesome work from https://github.com/esc/git-stats
|
||||
# including some modifications
|
||||
# awesome work from https://github.com/esc/git-stats
|
||||
# including some modifications
|
||||
|
||||
if [ -n "$(git symbolic-ref HEAD 2> /dev/null)" ]; then
|
||||
if [ -n "$(git symbolic-ref HEAD 2> /dev/null)" ]; then
|
||||
echo "Number of commits per author:"
|
||||
git --no-pager shortlog -sn --all
|
||||
AUTHORS=$( git shortlog -sn --all | cut -f2 | cut -f1 -d' ')
|
||||
|
|
@ -193,9 +193,9 @@ if [ -n "$(git symbolic-ref HEAD 2> /dev/null)" ]; then
|
|||
echo -n "Number of merges: "
|
||||
git log $LOGOPTS --all --merges --author=$a | grep -c '^commit'
|
||||
done
|
||||
else
|
||||
else
|
||||
echo "you're currently not in a git repository"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
function gittowork() {
|
||||
|
|
@ -273,3 +273,38 @@ function gitignore-reload() {
|
|||
echo >&2 "Files readded. Commit your new changes now."
|
||||
fi
|
||||
}
|
||||
|
||||
function git-changelog(){
|
||||
about 'Creates the git changelog from one point to another by date'
|
||||
group 'git'
|
||||
example '$ git-changelog origin/master...origin/release [md|txt]'
|
||||
|
||||
if [[ "$1" != *"..."* ]]
|
||||
then
|
||||
echo "Please include the valid 'diff' to make changelog"
|
||||
return 1
|
||||
fi
|
||||
|
||||
local NEXT=$(date +%F)
|
||||
|
||||
if [[ "$2" == "md" ]]
|
||||
then
|
||||
echo "# CHANGELOG $1"
|
||||
|
||||
git log $1 --no-merges --format="%cd" --date=short | sort -u -r | while read DATE ; do
|
||||
echo
|
||||
echo "### $DATE"
|
||||
GIT_PAGER=cat git log --no-merges --format=" * (%h) %s by [%an](mailto:%ae)" --since="$DATE 00:00:00" --until="$DATE 24:00:00"
|
||||
NEXT=$DATE
|
||||
done
|
||||
else
|
||||
echo "CHANGELOG $1"
|
||||
echo ----------------------
|
||||
git log $1 --no-merges --format="%cd" --date=short | sort -u -r | while read DATE ; do
|
||||
echo
|
||||
echo [$DATE]
|
||||
GIT_PAGER=cat git log --no-merges --format=" * (%h) %s by %an <%ae>" --since="$DATE 00:00:00" --until="$DATE 24:00:00"
|
||||
NEXT=$DATE
|
||||
done
|
||||
fi
|
||||
}
|
||||
Loading…
Reference in New Issue