Eric Wong <e@xxxxxxxxx> wrote: > Jeff King <peff@xxxxxxxx> wrote: > > That's my reading, too, but I didn't want to be responsible for > > regressing some obscure case. At least Eric seems to _use_ > > update-server-info. ;) > > I also have something else on my mind for abusing info files with :> > (another email) I'm not sure when/if I'll have time for this; but this ought to be possible: GIT_DIR=$HTTP_URL git <any read-only command> And possible without existing admins to setup or change anything on their server. Right now, I could do it by setting up a WebDAV server and using fusedav[1] on the client. But, not everybody runs a WebDAV server which allows PROPFIND for listing files... However, info/refs and objects/info/packs can give us all the info we need without needing PROPFIND. All we'd need is the common GET/HEAD HTTP methods for read-only access. git doesn't need mmap; and curl + Range requests ought to be able to get us what we need to emulate pread. It'd be great for low-latency LANs, maybe not so great with high latency; but probably better in many cases than cloning a giant repo to cat one blob. Also, cloning on a static bundle ought to be doable with: git clone $REMOTE_OR_LOCAL_PATH/foo.bundle And yeah, it also sucks that bundles double storage overhead for admins; it would be nice if I could use bundles as alternates or packs... Anyways, all of this is probably a lot of work and I don't hack much, anymore. [1] I have many patches for fusedav, and the debian maintainer seems dead, and upstream's moved on: https://bugs.debian.org/fusedav davfs2 can't do Range requests, so it won't work for big repos...