mirror of
https://github.com/git-quick-stats/git-quick-stats.git
synced 2025-12-21 12:13:52 +01:00
Compare commits
7 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
151b260be1 | ||
|
|
f06b7f4833 | ||
|
|
bf7533afa7 | ||
|
|
27edcf0f7a | ||
|
|
dc72babb20 | ||
|
|
c8ad2fba84 | ||
|
|
5cf8feee53 |
27
Dockerfile
Normal file
27
Dockerfile
Normal 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" ]
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
################################################################################
|
||||
|
||||
Reference in New Issue
Block a user