repos(1), chain update

repo(1) is a simple script that helps me in maintaining a collection of private
git repositories, regulate access permissions to them, and keep them backed up
via tarsnap(1).  I mentioned repo(1) in the "Stuff done" entry, dated
2022-02-10.

Today I improved it with a simple yet useful feature: a post-receive hook that
checks the existance of a git remote named "publish", and propagates pushed
changes to it.  The plan is to keep a few public repositories up to date.
The private repos live on my Raspberry, while the public repos are available
via https on dacav.org (https://dacav.org/git).

None of this is incredibly fancy or complicated, but it gave me the opportunity
to learn a few things.  The most interesting of them is probably the use of
git-shell(1), a restricted login shell that allows a user to perform only a few
git-related operations.

In the process I've learned a few minor things about FreeBSD.  I might write
about this in future.