On Sun, Jun 16, 2024, at 3:30 AM, Guus Snijders wrote:
Op zo 16 jun. 2024 10:42 schreef David C. Rankin <drankinatty@gmail.com>:
[ยทยทยท]
   On the server the repositories under /srv/git were owned david:david (me).
However, after the git change, git refused to serve over https unless the
directories under /srv/git were owned by http.

   Fine, change made - but now repos cloned read/write over ssh fail because
the directory under /srv/git is no longer owned by me.

   How do you make git repositories hosted on my local server allow clone/pull
over https AND allow me to still close read/write over ssh?
[...]
unless /srv/git/xxx.git is http:http, https fails

unless /srv/git/xxx.git is david:http, ssh fails


Have you tried using http:david instead?
And make sure the files are group-writable.

I haven't tested this, but this seems to answer all the mentioned constraints.


Mvg, Guus Snijders

You could try using something like bindfs (https://bindfs.org/) to bind mount /srv/git somewhere else with different permissions. Based on the man page it looks like you could do something like `bindfs --map http/git --map-group http/git /srv/git /srv/git-http`, then point apache to /srv/git-http instead of /srv/git.