From: Sitaram Chamarty <sitaramc@gmail.com>
To: Shawn Pearce <spearce@spearce.org>
Cc: Junio C Hamano <gitster@pobox.com>,
Fredrik Gustafsson <iveqy@iveqy.com>,
git@vger.kernel.org
Subject: Re: Enhancements to git-protocoll
Date: Mon, 30 Jul 2012 07:03:10 +0530 [thread overview]
Message-ID: <CAMK1S_i_jd_C29bBo79iiPMfBZ4XoXhuiP3f05F9xSpUPX=JBQ@mail.gmail.com> (raw)
In-Reply-To: <CAJo=hJsgMz-=pdG=HB3KtTE7g6Gvu9mr56dg2+V3WUST+rpAQg@mail.gmail.com>
On Mon, Jul 30, 2012 at 6:51 AM, Shawn Pearce <spearce@spearce.org> wrote:
> On Sun, Jul 29, 2012 at 6:04 PM, Sitaram Chamarty <sitaramc@gmail.com> wrote:
>> Of course this will only work with ssh. None of what Fredrik has so
>> far suggested would possibly work on smart http without even more
>> hacks, I think.
>
> Now that we have smart HTTP, and its somewhat popular for sites to
> deploy with, we need to carefully consider all future protocol changes
> to make sure they are compatible with the HTTP one. Since the HTTP is
> single request/response model, its hard to implement a conversation
> with the end-user.
>
> One thing I would like to do with the protocol is add custom site
> specific extensions to the protocol, where hooks are able to advertise
> in the initial capability list something like a namespace prefix that
> `git push` can use to offer site specific command line flags from:
>
> ....00000000... HEAD^{} report-status delete-refs side-band-64k
> ofs-delta hook=gitolite
>
> and the client seeing this would recognize a push command like:
>
> git push -Lgitolite,create-repository URL master
>
> passing the string "gitolite,create-repository" as data in the header
> of the push request. gitolite would need to scan more than just the
> git receive-pack command line from SSH to see this data, but you can
I would avoid anything that requires gitolite to even *know* the pack
protocol. They should be orthogonal.
But if you mean this extra info will be added to the command line
itself in some way (or in http terms to the REQUEST_URI, PATH_INFO,
QUERY_STRING, etc) then that's fine.
People who use gitolite already should try "git ls-remote
git@host:testing.git1" instead of the usual "...testing" or
"...testing.git" to see how a trace capability is currently hacked
into gitolite. Also change the 1 to a 2 then a 3 if you wish.
I'd certainly love a cleaner way of doing this, and what you suggest
seems it will satisfy.
> use it to implement an "are you sure you want to create this
> repository" exchange by failing a push with sideband information
> telling the user to reinvoke push with the create-repository flag if
> they really mean to create it.
>
> We sort of want this in Gerrit Code Review to pass reviewer names on
> the command line of git push, making it easier for users to upload a
> code review. The idea is similar to what happens with gcc accepting
> linker flags that are just passed onto the linker. From what I
> understand, Mercurial already has something like this in their push
> system for hooks to accept additional data one-way from the client.
--
Sitaram
next prev parent reply other threads:[~2012-07-30 1:33 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-07-28 21:41 Enhancements to git-protocoll Fredrik Gustafsson
2012-07-29 6:58 ` Junio C Hamano
2012-07-29 14:24 ` Fredrik Gustafsson
2012-07-29 14:39 ` Sitaram Chamarty
2012-07-29 20:51 ` Junio C Hamano
2012-07-29 21:26 ` Fredrik Gustafsson
2012-07-30 0:37 ` Sitaram Chamarty
2012-07-29 21:38 ` Junio C Hamano
2012-07-30 1:04 ` Sitaram Chamarty
2012-07-30 1:21 ` Shawn Pearce
2012-07-30 1:33 ` Sitaram Chamarty [this message]
2012-07-30 2:38 ` Junio C Hamano
2012-07-30 5:20 ` Shawn Pearce
2012-07-30 6:28 ` Junio C Hamano
2012-07-30 8:12 ` Sitaram Chamarty
2012-07-30 8:31 ` Sitaram Chamarty
2012-07-30 1:28 ` Junio C Hamano
2012-07-30 1:45 ` Sitaram Chamarty
2012-07-29 10:37 ` Sitaram Chamarty
2012-07-29 14:13 ` Fredrik Gustafsson
2012-07-29 14:25 ` Sitaram Chamarty
2012-07-29 15:05 ` Fredrik Gustafsson
2012-07-29 15:15 ` Sitaram Chamarty
2012-07-29 15:41 ` Fredrik Gustafsson
2012-07-29 18:22 ` Sitaram Chamarty
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='CAMK1S_i_jd_C29bBo79iiPMfBZ4XoXhuiP3f05F9xSpUPX=JBQ@mail.gmail.com' \
--to=sitaramc@gmail.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=iveqy@iveqy.com \
--cc=spearce@spearce.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).