From: Sergey Matveev <stargrave@stargrave.org>
Date: Wed, 23 Nov 2022 11:01:24 +0000 (+0300)
Subject: Git repositories list generator
X-Git-Url: http://www.git.stargrave.org/?a=commitdiff_plain;h=c968ac7e1f6fd62c0f4bfe5e70b3b3c4abaaca8a;p=dotfiles.git

Git repositories list generator
---

diff --git a/bin/git-list-gen.sh b/bin/git-list-gen.sh
new file mode 100755
index 0000000..e6f8b66
--- /dev/null
+++ b/bin/git-list-gen.sh
@@ -0,0 +1,23 @@
+#!/bin/sh -e
+# Generate list of available git repositories
+
+cat pre.txt
+cat <<EOF
+-------------------------------+------------------+---------------------------
+Repository name                | Latest change    | Description, upstream URLs
+-------------------------------+------------------+---------------------------
+EOF
+
+find . -name '*.git' -maxdepth 1 -mindepth 1 | sort | while read dir ; do
+    cd $dir
+    for commit in master main trunk ; do
+        mtime=`git cat-file -p $commit 2>/dev/null | perl -lane 'print $F[$#F - 1] if /^author/'`
+        [ -z "$mtime" ] || break
+    done
+    [ -z "$mtime" ] || mtime=`date -u -j -f %s $mtime "+%Y-%m-%d %H:%M"`
+    printf "%-30s | %16s | %s\n" ${dir#./} "$mtime" "`cat description`"
+    git remote | while read remote ; do
+        printf "%-30s | %16s | %s\n" "" "" "`git remote get-url $remote`"
+    done
+    cd ..
+done