Compare commits

..

7 Commits

Author SHA1 Message Date
Lukáš Mešťan
151b260be1 Update README.md 2019-12-16 11:04:15 +01:00
Lukáš Mešťan
f06b7f4833 Update README.md 2019-12-16 11:01:04 +01:00
Lukáš Mešťan
bf7533afa7 Merge pull request #86 from frxyt/develop
Add Dockerfile
2019-12-16 10:52:26 +01:00
Jérémy WALTHER
27edcf0f7a Add Dockerfile 2019-12-12 19:09:56 +01:00
Lukáš Mešťan
dc72babb20 Merge pull request #82 from 4ndrej/patch-1
refactor checkUtils: remove repeating commands
2019-10-27 10:12:00 +01:00
Andrej
c8ad2fba84 array of util names are read only now 2019-10-25 14:23:15 +02:00
Andrej
5cf8feee53 refactor checkUtils: remove repeating commands
putting checked utils into array and running through the array in for loop cleans the code
2019-10-25 10:41:05 +02:00
3 changed files with 43 additions and 15 deletions

27
Dockerfile Normal file
View File

@@ -0,0 +1,27 @@
FROM alpine
# Copy sources
COPY . /app
# Install required packages & build git-quick-stats
RUN apk add --no-cache bash git make ncurses util-linux \
&& cd /app \
&& make install \
&& rm -rf /app \
&& apk del --no-cache make \
&& mkdir -p /usr/local/bin \
&& echo -en "#!/bin/bash\nset -e\n[[ \"\${1::1}\" == '-' ]] && set -- /usr/bin/git quick-stats \"\$@\"\nexec \"\$@\"" \
> /usr/local/bin/docker-entrypoint \
&& chmod +x /usr/local/bin/docker-entrypoint
# Declare all variables usables by git-quick-stats
ENV _GIT_SINCE= \
_GIT_UNTIL= \
_GIT_LIMIT= \
_GIT_PATHSPEC= \
_MENU_THEME=default \
TERM=xterm-256color
WORKDIR /git
ENTRYPOINT [ "/usr/local/bin/docker-entrypoint" ]
CMD [ "/usr/bin/git", "quick-stats" ]

View File

@@ -26,6 +26,7 @@
* [**UNIX and Linux**](#unix-and-linux)
* [**macOS**](#macos-homebrew)
* [**Windows**](#windows)
* [**Docker**](#docker)
[**System requirements**](#system-requirements)
@@ -206,6 +207,14 @@ If you are installing with Cygwin, use these scripts:
If you are wishing to use this with WSL, follow the UNIX and Linux instructions.
### Docker
You can use the Docker image provided:
* Build: `docker build -t arzzen/git-quick-stats .`
* Run interactive menu: `docker run --rm -it -v $(pwd):/git arzzen/git-quick-stats`
* Docker pull command: `docker pull arzzen/git-quick-stats` [docker repository](https://hub.docker.com/r/arzzen/git-quick-stats)
## System requirements
* An OS with a Bash shell

View File

@@ -35,21 +35,13 @@ _theme="${_MENU_THEME:=default}"
################################################################################
function checkUtils() {
local -r msg="not found. Please make sure this is installed and in PATH."
command -v awk >/dev/null 2>&1 || { echo >&2 "awk ${msg}"; exit 1; }
command -v basename >/dev/null 2>&1 || { echo >&2 "basename ${msg}"; exit 1; }
command -v cat >/dev/null 2>&1 || { echo >&2 "cat ${msg}"; exit 1; }
command -v column >/dev/null 2>&1 || { echo >&2 "column ${msg}"; exit 1; }
command -v echo >/dev/null 2>&1 || { echo >&2 "echo ${msg}"; exit 1; }
command -v git >/dev/null 2>&1 || { echo >&2 "git ${msg}"; exit 1; }
command -v grep >/dev/null 2>&1 || { echo >&2 "grep ${msg}"; exit 1; }
command -v head >/dev/null 2>&1 || { echo >&2 "head ${msg}"; exit 1; }
command -v seq >/dev/null 2>&1 || { echo >&2 "seq ${msg}"; exit 1; }
command -v sort >/dev/null 2>&1 || { echo >&2 "sort ${msg}"; exit 1; }
command -v tput >/dev/null 2>&1 || { echo >&2 "tput ${msg}"; exit 1; }
command -v tr >/dev/null 2>&1 || { echo >&2 "tr ${msg}"; exit 1; }
command -v uniq >/dev/null 2>&1 || { echo >&2 "uniq ${msg}"; exit 1; }
command -v wc >/dev/null 2>&1 || { echo >&2 "wc ${msg}"; exit 1; }
declare -ar utils=("awk" "basename" "cat" "column" "echo" "git" "grep" "head"
"seq" "sort" "tput" "tr" "uniq" "wc")
for u in "${utils[@]}"
do
command -v "$u" >/dev/null 2>&1 || { echo >&2 "$u ${msg}"; exit 1; }
done
}
################################################################################