modifs.mineures sans commentaires
This commit is contained in:
parent
a590cd1c17
commit
c1bd66d91b
|
@ -0,0 +1,48 @@
|
|||
#!/bin/bash
|
||||
# -*- coding: utf-8 mode: sh -*- vim:sw=4:sts=4:et:ai:si:sta:fenc=utf-8
|
||||
source "$(dirname -- "$0")/../load.sh" || exit 1
|
||||
require: git
|
||||
|
||||
chdir=
|
||||
all=
|
||||
args=(
|
||||
"afficher l'état du dépôt"
|
||||
"[-d chdir] [-a patterns...]
|
||||
|
||||
Si l'option -a est utilisée, ce script accepte comme arguments une liste de patterns permettant de filtrer les répertoires concernés"
|
||||
-d:,--chdir:BASEDIR chdir= "répertoire dans lequel se placer avant de lancer les opérations"
|
||||
-a,--all all=1 "faire l'opération sur tous les sous-répertoires de BASEDIR qui sont des dépôts git"
|
||||
)
|
||||
parse_args "$@"; set -- "${args[@]}"
|
||||
|
||||
if [ -n "$chdir" ]; then
|
||||
cd "$chdir" || die
|
||||
fi
|
||||
|
||||
if [ -n "$all" ]; then
|
||||
# liste de sous répertoires
|
||||
if [ $# -gt 0 ]; then
|
||||
# si on a une liste de patterns, l'utiliser
|
||||
setx -a dirs=ls_dirs . "$@"
|
||||
else
|
||||
dirs=()
|
||||
for dir in */.git; do
|
||||
[ -d "$dir" ] || continue
|
||||
dirs+=("${dir%/.git}")
|
||||
done
|
||||
fi
|
||||
setx cwd=pwd
|
||||
for dir in "${dirs[@]}"; do
|
||||
cd "$dir" || die
|
||||
setx status=git status --porcelain
|
||||
cd "$cwd"
|
||||
if [ -n "$status" ]; then
|
||||
etitle "$dir" echo "$status"
|
||||
fi
|
||||
done
|
||||
else
|
||||
# répertoire courant uniquement
|
||||
args=()
|
||||
isatty || args+=(--porcelain)
|
||||
git status "${args[@]}"
|
||||
fi
|
Loading…
Reference in New Issue