modifs.mineures sans commentaires

This commit is contained in:
Jephté Clain 2024-06-04 08:48:11 +04:00
parent a590cd1c17
commit c1bd66d91b
4 changed files with 48 additions and 0 deletions

48
bin/nlp Executable file
View File

@ -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

View File

View File

View File