Compare commits

..

9 Commits

Author SHA1 Message Date
Lukáš Mešťan
5b08bb0b52 Merge pull request #129 from treussart/add_git_branch_option
Add git branch option
2021-05-19 08:36:00 +02:00
Matthieu Treussart
08d1a5a6e3 Set git branch in options 2021-05-18 21:51:40 +02:00
Lukáš Mešťan
f5c2b82f02 Merge pull request #127 from pawaer/fix/issue126
Replaced grep commit by grep with regex including git sha hash
2021-04-29 08:36:34 +02:00
Pawaer
bf29c19cf5 Replaced grep commit by grep with regex including git sha hash
myDailyStats() used grep commit to detect count of commits. This
also increases the count by mentioning commit in the commit
message.

Therefore a grep with regex is used that expects a 40 digit/char
SHA1 hash after the word commit.
2021-04-24 21:50:30 +02:00
Lukáš Mešťan
c6cb74a5e0 Merge pull request #125 from arzzen/fix/issue-123
fix shortlog filter
2021-04-02 19:16:02 +02:00
arzzen
3f0befcd07 fix shortlog filter 2021-04-02 13:34:46 +02:00
Lukáš Mešťan
292876846d Merge pull request #124 from tomice/master
Fix escape sequences when outputting to non-TTYs
2021-03-31 17:31:28 +02:00
Tom Ice
e70c288225 Fix escape sequences when outputting to non-TTYs
* When performing actions such as redirecting the stats to a file,
  the terminal escape sequences for handling colors gets added
  to the top message in the text file. While running commands such
  as sed can fix this, it is inconvenient for users wishing to redirect
  or pipe the stats in a clean way.

  Attempting to use test -t yielded some unexpected results, as well
  as extra logic for handling a non-tty case, so for now, we are
  simply removing the colors from the message so it defaults to
  standard terminal colors and formatting

Fixes #122
2021-03-31 10:33:25 -04:00
Lukáš Mešťan
4d2621b084 Update LICENSE
bump year
2021-02-24 08:14:12 +01:00
5 changed files with 37 additions and 17 deletions

View File

@@ -1,6 +1,6 @@
MIT License
Copyright (c) 2020 Lukáš Mešťan
Copyright (c) 2021 Lukáš Mešťan
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal

View File

@@ -178,6 +178,14 @@ export _GIT_MERGE_VIEW="enable"
export _GIT_MERGE_VIEW="exclusive"
```
### Git branch
You can set the variable `_GIT_BRANCH` to set the branch of the stats. Works with commands `--git-stats-by-branch`.
```bash
export _GIT_BRANCH="master"
```
### Color themes
You can change to the legacy color scheme by toggling the variable `_MENU_THEME` between `default` and `legacy`

View File

@@ -61,7 +61,7 @@ fi
_log_options=${_GIT_LOG_OPTIONS:-}
if [[ -n "${_log_options}" ]]; then
_log_options=$_log_options
else
else
_log_options=""
fi
@@ -158,7 +158,9 @@ ADDITIONAL USAGE
You can also set _GIT_MERGE_VIEW to only show merge commits
ex: export _GIT_MERGE_VIEW=exclusive
You can set _MENU_THEME to display the legacy color scheme
ex: export _MENU_THEME=legacy"
ex: export _MENU_THEME=legacy
You can set _GIT_BRANCH to set the branch of the stats
ex: export _GIT_BRANCH=master"
}
################################################################################
@@ -224,12 +226,9 @@ showMenu() {
# OUTS: None
################################################################################
function optionPicked() {
local -r bold=$(tput bold)
local -r red=$(tput setaf 1)
local -r reset=$(tput sgr0)
local msg=${*:-"${reset}Error: No message passed"}
local msg=${*:-"Error: No message passed"}
echo -e "${bold}${red}${msg}${reset}\n"
echo -e "${msg}\n"
}
################################################################################
@@ -380,11 +379,13 @@ function jsonOutput() {
function commitsByMonth() {
optionPicked "Git commits by month:"
echo -e "\tmonth\tsum"
local startYear=$(echo "$_since" | grep -Eo "[0-9]{4}")
local endYear=$(echo "$_until" | grep -Eo "[0-9]{4}")
for i in Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
do
echo -en "\t$i\t"
git -c log.showSignature=false shortlog -n $_merges --format='%ad %s' \
"$_since" "$_until" $_log_options | grep " $i " | wc -l
"$_since" "$_until" $_log_options | grep -E "($startYear|$endYear)" | grep " $i " | wc -l
done | awk '{
count[$1] = $2
total += $2
@@ -411,12 +412,14 @@ function commitsByMonth() {
function commitsByWeekday() {
optionPicked "Git commits by weekday:"
echo -e "\tday\tsum"
local startYear=$(echo "$_since" | grep -Eo "[0-9]{4}")
local endYear=$(echo "$_until" | grep -Eo "[0-9]{4}")
local counter=1
for i in Mon Tue Wed Thu Fri Sat Sun
do
echo -en "\t$counter\t$i\t"
git -c log.showSignature=false shortlog -n $_merges --format='%ad %s' \
"$_since" "$_until" $_log_options | grep "$i " | wc -l
"$_since" "$_until" $_log_options | grep -E "($startYear|$endYear)" | grep "$i " | wc -l
counter=$((counter+1))
done | awk '{
}
@@ -456,11 +459,14 @@ function commitsByHour() {
_author="--author=${author}"
fi
echo -e "\thour\tsum"
local startYear=$(echo "$_since" | grep -Eo "[0-9]{4}")
local endYear=$(echo "$_until" | grep -Eo "[0-9]{4}")
for i in $(seq -w 0 23)
do
echo -ne "\t$i\t"
git -c log.showSignature=false shortlog -n $_merges --format='%ad %s' \
"${_author}" "$_since" "$_until" $_log_options | grep ' '$i: | wc -l
"${_author}" "$_since" "$_until" $_log_options | grep -E "($startYear|$endYear)" | grep ' '$i: | wc -l
done | awk '{
count[$1] = $2
total += $2
@@ -542,7 +548,7 @@ function myDailyStats() {
--author="$(git config user.name)" $_merges \
--since=$(date "+%Y-%m-%dT00:00:00") \
--until=$(date "+%Y-%m-%dT23:59:59") --reverse $_log_options \
| grep commit | wc -l) "commits"
| grep -E "commit [a-f0-9]{40}" | wc -l) "commits"
}
################################################################################
@@ -629,7 +635,7 @@ if [[ "$#" -eq 1 ]]; then
-r|--suggest-reviewers) suggestReviewers;;
-T|--detailed-git-stats) detailedGitStats;;
-R|--git-stats-by-branch)
branch=""
branch="${_GIT_BRANCH:-}"
while [[ -z "${branch}" ]]; do
read -r -p "Which branch? " branch
done

View File

@@ -1,13 +1,13 @@
.TH git-quick-stats "1" "January 2020" "git-quick-stats" "User Commands"
.SH NAME
.B git\-quick\-stats
.B git\-quick\-stats
\- Simple and efficient way to access various stats in a git repository.
.SH SYNOPSIS
.PP
For non\-interactive mode:
For non\-interactive mode:
.B git\-quick\-stats [OPTIONS]
.PP
For interactive mode:
For interactive mode:
.B git-quick-stats
.PP
.SH DESCRIPTION
@@ -131,6 +131,10 @@ You can also set _GIT_MERGE_VIEW to only show merge commits, example:
You can switch to the legacy color scheme, example:
.PP
.B export _MENU_THEME=legacy
.PP
You can set _GIT_BRANCH to set the branch of the stats, example:
.PP
.B export _GIT_BRANCH="master"
.
.fi

View File

@@ -69,7 +69,9 @@ ADDITIONAL USAGE
You can also set _GIT_MERGE_VIEW to only show merge commits
ex: export _GIT_MERGE_VIEW=exclusive
You can set _MENU_THEME to display the legacy color scheme
ex: export _MENU_THEME=legacy"
ex: export _MENU_THEME=legacy
You can set _GIT_BRANCH to set the branch of the stats
ex: export _GIT_BRANCH=master"
assert_raises "$src fail" 1