qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] https:// for GIT submodules / "smart" HTTP protocol on


From: Jeff Cody
Subject: Re: [Qemu-devel] https:// for GIT submodules / "smart" HTTP protocol on git.qemu.git
Date: Mon, 19 Mar 2018 15:10:28 -0400
User-agent: Mutt/1.5.24 (2015-08-30)

On Mon, Mar 19, 2018 at 06:28:16PM +0000, Daniel P. Berrangé wrote:
> On Mon, Mar 19, 2018 at 04:49:39PM +0000, Daniel P. Berrangé wrote:
> > Most of QEMU regular developers are fortunate to have unfiltered internet
> > access which allows using the git:// protocol. People working in more
> > old fashioned / paranoid environments often find access to anything other
> > than http(s) blocked by firewalls. They'll get a bad experiance when trying
> > to build QEMU, when we try to initialize the git submodules and git://
> > protocol fails to connect.
> > 
> > We could improve life for people behind such nasty firewalls if we made our
> > GIT submodules use https:// URIs, instead of git:// URIs. There is one snag.
> > 
> > Historically git:// URIs were strongly preferred over http(s):// URIs for
> > reasons for performance. Modern GIT though, supports both the traditional
> > "dumb" HTTP protocol (which is horribly slow) and a modern "smart" HTTP
> > protocol whose performance matches that of git:/// URIs.
> > 
> > Unfortunately it seems that git.qemu.org is not configured to enable the
> > smart HTTP protocol.
> > 
> > So can we get a todo item for git.qemu.org get the web server setup to
> > enable the smart GIT protocol, so we can then enable use of http:// by
> > default for all the submodules to improve life for contributors.
> 
> FYI this doesn't seem to take much more than adding this to Apache
> config:
> 
>   SetEnv GIT_PROJECT_ROOT /path/to/git/projects/root
> 
>   <Directory /usr/libexec/git-core>
>    Require all granted
>   </Directory>
> 
>   ScriptAliasMatch "^/git/(.*\.git/(HEAD|info/refs))$" \
>     /usr/libexec/git-core/git-http-backend/$1
>   ScriptAliasMatch "^/git/(.*\.git/git-(upload|receive)-pack)$" \
>     /usr/libexec/git-core/git-http-backend/$1
> 
> 
> And then touching the file 'git-daemon-export-ok' in each git repo
> that is intended to be public.
> 
>   https://git.seveas.net/apache-gitweb-cgit-smart-http.html
> 

Daniel,

This is a good idea.  I'll look into implementing it (I'll wait until a time
of day that is relatively low-traffic).

-Jeff



reply via email to

[Prev in Thread] Current Thread [Next in Thread]