threads / discuss / 28492

Symbolic refs and the git protocol?

Subject: Symbolic refs and the git protocol?

## tl;dr

7 messages between Sep 25, 2011 and Sep 26, 2011.

replies: 6people: 3as markdown or json

Avi Kivity· Sep 25, 2011, 13:17 UTC · lore

With the old kernel.org setup, practically the only think I needed to do on the server itself is the 'git symbolic-ref' command (used to point refs/heads/linux-next at the correct stream).

Now it looks like kernel.org will no longer offer shell access. Is it possible to support symbolic-ref via 'git push'?

-- 
error compiling committee.c: too many arguments to function
Sitaram Chamarty· Sep 25, 2011, 13:42 UTC · re: Avi Kivity · lore

Re: Symbolic refs and the git protocol?

On Sun, Sep 25, 2011 at 6:47 PM, Avi Kivity <avi@redhat.com> wrote:
Show 6 quoted lines
> With the old kernel.org setup, practically the only think I needed to do on
> the server itself is the 'git symbolic-ref' command (used to point
> refs/heads/linux-next at the correct stream).
>
> Now it looks like kernel.org will no longer offer shell access.  Is it
> possible to support symbolic-ref via 'git push'?

Can I assume you mean specifically for HEAD, as in 'git symbolic-ref HEAD refs/heads/some-branch'?

Although gitolite disables shell access by design, it provides several (optionally installed) features to allow specific shell commands to be executed. One such command is "set-head", which does exactly what you ask. You run it like 'ssh git@server set-head reponame.git refs/heads/foo' and it ends up running 'git symbolic-ref HEAD refs/heads/foo' in the repo.

I realise that does not answer "can it be done via git push" but I thought it might help...

Avi Kivity· Sep 25, 2011, 13:48 UTC · re: Sitaram Chamarty · lore

Re: Symbolic refs and the git protocol?

On 09/25/2011 04:42 PM, Sitaram Chamarty wrote:
Show 10 quoted lines
> On Sun, Sep 25, 2011 at 6:47 PM, Avi Kivity<avi@redhat.com>  wrote:
> >  With the old kernel.org setup, practically the only think I needed to do on
> >  the server itself is the 'git symbolic-ref' command (used to point
> >  refs/heads/linux-next at the correct stream).
> >
> >  Now it looks like kernel.org will no longer offer shell access.  Is it
> >  possible to support symbolic-ref via 'git push'?
>
> Can I assume you mean specifically for HEAD, as in 'git symbolic-ref
> HEAD refs/heads/some-branch'?
No, I use them for ordinary branches, for example
   git symbolic-ref refs/heads/linux-next refs/heads/kvm-updates/3.2

from this point on, any update to kvm-updates/3.2 will be reflected in the linux-next ref.

Show 9 quoted lines
> Although gitolite disables shell access by design, it provides several
> (optionally installed) features to allow specific shell commands to be
> executed.  One such command is "set-head", which does exactly what you
> ask.  You run it like 'ssh git@server set-head reponame.git
> refs/heads/foo' and it ends up running 'git symbolic-ref HEAD
> refs/heads/foo' in the repo.
>
> I realise that does not answer "can it be done via git push" but I
> thought it might help...
Well, if set-head can be extended a bit, it would suit me perfectly.
-- 
error compiling committee.c: too many arguments to function
Sitaram Chamarty· Sep 25, 2011, 14:10 UTC · re: Avi Kivity · lore

Re: Symbolic refs and the git protocol?

On Sun, Sep 25, 2011 at 7:18 PM, Avi Kivity <avi@redhat.com> wrote:
Show 32 quoted lines
> On 09/25/2011 04:42 PM, Sitaram Chamarty wrote:
>>
>> On Sun, Sep 25, 2011 at 6:47 PM, Avi Kivity<avi@redhat.com>  wrote:
>> >  With the old kernel.org setup, practically the only think I needed to
>> > do on
>> >  the server itself is the 'git symbolic-ref' command (used to point
>> >  refs/heads/linux-next at the correct stream).
>> >
>> >  Now it looks like kernel.org will no longer offer shell access.  Is it
>> >  possible to support symbolic-ref via 'git push'?
>>
>> Can I assume you mean specifically for HEAD, as in 'git symbolic-ref
>> HEAD refs/heads/some-branch'?
>
> No, I use them for ordinary branches, for example
>
>  git symbolic-ref refs/heads/linux-next refs/heads/kvm-updates/3.2
>
> from this point on, any update to kvm-updates/3.2 will be reflected in the
> linux-next ref.
>
>> Although gitolite disables shell access by design, it provides several
>> (optionally installed) features to allow specific shell commands to be
>> executed.  One such command is "set-head", which does exactly what you
>> ask.  You run it like 'ssh git@server set-head reponame.git
>> refs/heads/foo' and it ends up running 'git symbolic-ref HEAD
>> refs/heads/foo' in the repo.
>>
>> I realise that does not answer "can it be done via git push" but I
>> thought it might help...
>
> Well, if set-head can be extended a bit, it would suit me perfectly.

no reason it can't; shorn of all the argument/access checking, it's a very simple shell script

-- 
Sitaram
Sitaram Chamarty· Sep 26, 2011, 14:23 UTC · re: Sitaram Chamarty · lore

Re: Symbolic refs and the git protocol?

On Sun, Sep 25, 2011 at 7:40 PM, Sitaram Chamarty <sitaramc@gmail.com> wrote:
Show 36 quoted lines
> On Sun, Sep 25, 2011 at 7:18 PM, Avi Kivity <avi@redhat.com> wrote:
>> On 09/25/2011 04:42 PM, Sitaram Chamarty wrote:
>>>
>>> On Sun, Sep 25, 2011 at 6:47 PM, Avi Kivity<avi@redhat.com>  wrote:
>>> >  With the old kernel.org setup, practically the only think I needed to
>>> > do on
>>> >  the server itself is the 'git symbolic-ref' command (used to point
>>> >  refs/heads/linux-next at the correct stream).
>>> >
>>> >  Now it looks like kernel.org will no longer offer shell access.  Is it
>>> >  possible to support symbolic-ref via 'git push'?
>>>
>>> Can I assume you mean specifically for HEAD, as in 'git symbolic-ref
>>> HEAD refs/heads/some-branch'?
>>
>> No, I use them for ordinary branches, for example
>>
>>  git symbolic-ref refs/heads/linux-next refs/heads/kvm-updates/3.2
>>
>> from this point on, any update to kvm-updates/3.2 will be reflected in the
>> linux-next ref.
>>
>>> Although gitolite disables shell access by design, it provides several
>>> (optionally installed) features to allow specific shell commands to be
>>> executed.  One such command is "set-head", which does exactly what you
>>> ask.  You run it like 'ssh git@server set-head reponame.git
>>> refs/heads/foo' and it ends up running 'git symbolic-ref HEAD
>>> refs/heads/foo' in the repo.
>>>
>>> I realise that does not answer "can it be done via git push" but I
>>> thought it might help...
>>
>> Well, if set-head can be extended a bit, it would suit me perfectly.
>
> no reason it can't; shorn of all the argument/access checking, it's a
> very simple shell script
Done.
https://github.com/sitaramc/gitolite/commit/a2fd597c51a086a0f7298c1641337faa0f296a62
I like this much better actually, so thanks for the idea.
Avi Kivity· Sep 26, 2011, 14:49 UTC · re: Sitaram Chamarty · lore

Re: Symbolic refs and the git protocol?

On 09/26/2011 05:23 PM, Sitaram Chamarty wrote:
Show 43 quoted lines
> On Sun, Sep 25, 2011 at 7:40 PM, Sitaram Chamarty<sitaramc@gmail.com>  wrote:
> >  On Sun, Sep 25, 2011 at 7:18 PM, Avi Kivity<avi@redhat.com>  wrote:
> >>  On 09/25/2011 04:42 PM, Sitaram Chamarty wrote:
> >>>
> >>>  On Sun, Sep 25, 2011 at 6:47 PM, Avi Kivity<avi@redhat.com>    wrote:
> >>>  >    With the old kernel.org setup, practically the only think I needed to
> >>>  >  do on
> >>>  >    the server itself is the 'git symbolic-ref' command (used to point
> >>>  >    refs/heads/linux-next at the correct stream).
> >>>  >
> >>>  >    Now it looks like kernel.org will no longer offer shell access.  Is it
> >>>  >    possible to support symbolic-ref via 'git push'?
> >>>
> >>>  Can I assume you mean specifically for HEAD, as in 'git symbolic-ref
> >>>  HEAD refs/heads/some-branch'?
> >>
> >>  No, I use them for ordinary branches, for example
> >>
> >>    git symbolic-ref refs/heads/linux-next refs/heads/kvm-updates/3.2
> >>
> >>  from this point on, any update to kvm-updates/3.2 will be reflected in the
> >>  linux-next ref.
> >>
> >>>  Although gitolite disables shell access by design, it provides several
> >>>  (optionally installed) features to allow specific shell commands to be
> >>>  executed.  One such command is "set-head", which does exactly what you
> >>>  ask.  You run it like 'ssh git@server set-head reponame.git
> >>>  refs/heads/foo' and it ends up running 'git symbolic-ref HEAD
> >>>  refs/heads/foo' in the repo.
> >>>
> >>>  I realise that does not answer "can it be done via git push" but I
> >>>  thought it might help...
> >>
> >>  Well, if set-head can be extended a bit, it would suit me perfectly.
> >
> >  no reason it can't; shorn of all the argument/access checking, it's a
> >  very simple shell script
>
> Done.
>
> https://github.com/sitaramc/gitolite/commit/a2fd597c51a086a0f7298c1641337faa0f296a62
>
> I like this much better actually, so thanks for the idea.
Thanks very much for the rapid response and update!
John, can we get this into the new kernel.org infrastructure?
-- 
error compiling committee.c: too many arguments to function
Ilari Liusvaara· Sep 25, 2011, 18:50 UTC · re: Avi Kivity · lore

Re: Symbolic refs and the git protocol?

On Sun, Sep 25, 2011 at 04:17:31PM +0300, Avi Kivity wrote:
>
> Now it looks like kernel.org will no longer offer shell access.  Is
> it possible to support symbolic-ref via 'git push'?
AFAIK, no, it isn't.
-Ilari

← back to recent threads