diff options
| author | quentin@aristote.fr <quentin@aristote.fr> | 2026-01-25 20:19:01 +0100 |
|---|---|---|
| committer | quentin@aristote.fr <quentin@aristote.fr> | 2026-01-25 20:48:23 +0100 |
| commit | d00f8fb1791e6f412d4a8898b53cdbe3cac20daa (patch) | |
| tree | 9d493ea1c2af4721be7a27f72470dcb818fd2c47 /config/services/git/shell-commands/repo/src/show_command.sh | |
| parent | fbb1709e1504280ca5576f91d85bb7f5dfeff37a (diff) | |
git: add shell-commands
Diffstat (limited to 'config/services/git/shell-commands/repo/src/show_command.sh')
| -rw-r--r-- | config/services/git/shell-commands/repo/src/show_command.sh | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/config/services/git/shell-commands/repo/src/show_command.sh b/config/services/git/shell-commands/repo/src/show_command.sh new file mode 100644 index 0000000..77bb92f --- /dev/null +++ b/config/services/git/shell-commands/repo/src/show_command.sh @@ -0,0 +1,35 @@ +if [[ -z "${args[path]}" ]] +then + path=/srv/git/ +else + path=$(realpath "${args[path]}") + check-realpath "$path" +fi + +if [[ $(is-git-dir "$path") ]] +then + args[--verbose]=1 +fi + +dirs=$(find "$path" -type f -name HEAD | while read -r head; do + dir="${head%/*}" + if [[ "${args[--tree]}" ]] + then + while [[ "$dir" != "/srv/git" && -n "$dir" ]]; do + echo "$dir/" + dir="${dir%/*}" + done + else + echo "$dir/" + fi + done | sort -u) + +for dir in $dirs +do + if [[ "${args[--verbose]}" ]] && [[ $(is-git-dir "$dir") ]] + then + show-repo "$dir" + else + show-repo-summary "$dir" + fi +done |
