# Symbolic refs and the git protocol?

7 messages from 2011-09-25 to 2011-09-26. Participants: Avi Kivity, Sitaram Chamarty, Ilari Liusvaara.
Thread: https://gitlist.dev/t/28492

## Avi Kivity, 2011-09-25 13:17

Subject: Symbolic refs and the git protocol?
Message-ID: <4E7F29EB.8000800@redhat.com>
URL: https://gitlist.dev/e/4E7F29EB.8000800%40redhat.com

```
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, 2011-09-25 13:42

Subject: Re: Symbolic refs and the git protocol?
Message-ID: <CAMK1S_joYUKPXDKyomFdbDP4H0UhcwtNQbC89gvNZOTHowYrLw@mail.gmail.com>
URL: https://gitlist.dev/e/CAMK1S_joYUKPXDKyomFdbDP4H0UhcwtNQbC89gvNZOTHowYrLw%40mail.gmail.com
In-Reply-To: <4E7F29EB.8000800@redhat.com>

```
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'?

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, 2011-09-25 13:48

Subject: Re: Symbolic refs and the git protocol?
Message-ID: <4E7F313A.2050103@redhat.com>
URL: https://gitlist.dev/e/4E7F313A.2050103%40redhat.com
In-Reply-To: <CAMK1S_joYUKPXDKyomFdbDP4H0UhcwtNQbC89gvNZOTHowYrLw@mail.gmail.com>

```
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.

-- 
error compiling committee.c: too many arguments to function

```

## Sitaram Chamarty, 2011-09-25 14:10

Subject: Re: Symbolic refs and the git protocol?
Message-ID: <CAMK1S_g1Co8vogBuObQVsr+nT09urYs+qifJn1X+eGrkgUQZCA@mail.gmail.com>
URL: https://gitlist.dev/e/CAMK1S_g1Co8vogBuObQVsr%2BnT09urYs%2BqifJn1X%2BeGrkgUQZCA%40mail.gmail.com
In-Reply-To: <4E7F313A.2050103@redhat.com>

```
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

-- 
Sitaram

```

## Ilari Liusvaara, 2011-09-25 18:50

Subject: Re: Symbolic refs and the git protocol?
Message-ID: <20110925185004.GA12781@LK-Perkele-VI.localdomain>
URL: https://gitlist.dev/e/20110925185004.GA12781%40LK-Perkele-VI.localdomain
In-Reply-To: <4E7F29EB.8000800@redhat.com>

```
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

```

## Sitaram Chamarty, 2011-09-26 14:23

Subject: Re: Symbolic refs and the git protocol?
Message-ID: <CAMK1S_gfw4WUdhdCzFMNbJXJP7762tp62fpmQ_-qJLwvD1hR-A@mail.gmail.com>
URL: https://gitlist.dev/e/CAMK1S_gfw4WUdhdCzFMNbJXJP7762tp62fpmQ_-qJLwvD1hR-A%40mail.gmail.com
In-Reply-To: <CAMK1S_g1Co8vogBuObQVsr+nT09urYs+qifJn1X+eGrkgUQZCA@mail.gmail.com>

```
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.

```

## Avi Kivity, 2011-09-26 14:49

Subject: Re: Symbolic refs and the git protocol?
Message-ID: <4E8090E5.4030809@redhat.com>
URL: https://gitlist.dev/e/4E8090E5.4030809%40redhat.com
In-Reply-To: <CAMK1S_gfw4WUdhdCzFMNbJXJP7762tp62fpmQ_-qJLwvD1hR-A@mail.gmail.com>

```
On 09/26/2011 05:23 PM, Sitaram Chamarty wrote:
> 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

```
