# How do I track pu branch?

4 messages from 2005-08-16 to 2005-08-16. Participants: Martin Langhoff, Junio C Hamano.
Thread: https://gitlist.dev/t/1530

## Martin Langhoff, 2005-08-16 01:56

Subject: How do I track pu branch?
Message-ID: <46a038f9050815185629e5c4b6@mail.gmail.com>
URL: https://gitlist.dev/e/46a038f9050815185629e5c4b6%40mail.gmail.com

```
Following an extenal repo, I am not getting all the heads. This is by
design, AFAIK, and the question is how do I find what heads the repo
offers and pull them in so I can call them by name?

cheers,


martin

```

## Junio C Hamano, 2005-08-16 02:38

Subject: Re: How do I track pu branch?
Message-ID: <7v4q9qr4gn.fsf@assigned-by-dhcp.cox.net>
URL: https://gitlist.dev/e/7v4q9qr4gn.fsf%40assigned-by-dhcp.cox.net
In-Reply-To: <46a038f9050815185629e5c4b6@mail.gmail.com>

```
Martin Langhoff <martin.langhoff@gmail.com> writes:

> Following an extenal repo, I am not getting all the heads. This is by
> design, AFAIK, and the question is how do I find what heads the repo
> offers and pull them in so I can call them by name?

I suspect the Subject: line and your question do not mesh well,
but anyway..

	$ git ls-remote http://www.kernel.org/pub/scm/git/git.git/
        2150cc99fe29fd81db1e9c5971e13bcb78373ebf	refs/heads/master
        ce1eb6614e4e8308585b75029ad0823389890eb9	refs/heads/pu
        14fb44880c1143ae0259842c808c036e78b516f6	refs/heads/rc
        0918385dbd9656cab0d1d81ba7453d49bbc16250	refs/tags/junio-gpg-pub
        d6602ec5194c87b0fc87103ca4d67251c76f233a	refs/tags/v0.99
        f25a265a342aed6041ab0cc484224d9ca54b6f41	refs/tags/v0.99.1
        c5db5456ae3b0873fc659c19fafdde22313cc441	refs/tags/v0.99.2
        7ceca275d047c90c0c7d5afb13ab97efdf51bd6e	refs/tags/v0.99.3
        b3e9704ecdf48869f635f0aa99ddfb513f885aff	refs/tags/v0.99.4

NOTE.  When talking to http(s) URL, the server side needs to be
prepared to support the dumb server protocol.  That is, to have
run git-update-server-info there whenever the repository is
updated.  Other transports do not have this restriction.

-jc

```

## Junio C Hamano, 2005-08-16 02:55

Subject: Re: How do I track pu branch?
Message-ID: <7vd5oepp3n.fsf@assigned-by-dhcp.cox.net>
URL: https://gitlist.dev/e/7vd5oepp3n.fsf%40assigned-by-dhcp.cox.net
In-Reply-To: <7v4q9qr4gn.fsf@assigned-by-dhcp.cox.net>

```
Junio C Hamano <junkio@cox.net> writes:

> Martin Langhoff <martin.langhoff@gmail.com> writes:
>
>> Following an extenal repo, I am not getting all the heads. This is by
>> design, AFAIK, and the question is how do I find what heads the repo
>> offers and pull them in so I can call them by name?

Sorry, "git ls-remote" was the answer to only the first
question.  Regarding your second question.

Once you have found out about them, the way to use shorthand the
current tool offers is:

	$ echo 'http://www.kernel.org/pub/scm/git/git.git/#pu' \
            >.git/branches/ko-pu
	$ git fetch ko-pu

Any "git fetch" creates .git/FETCH_HEAD file which holds the
SHA1 object name of the fetched commit, but when shorthand
recorded in .git/branches is involved, it additionally creates
the file ".git/refs/heads/ko-pu".  Then you could:

	$ git checkout -b for-junio ko-pu
        $ git apply --index <cvsimport-use-kk-flag.patch
        $ git commit -v -s
        $ git format-patch ko-pu..HEAD

Note.  As I may have said elsewhere, "pu" branch in git.git
repository is rebased almost daily, so please be prepared to
throw away any branches you may fork off from it.

Note.  The shorthand notation for the pull/fetch side is planned
to be enhanced so that you can keep track of multiple remote
heads.  That has not happened yet.

```

## Martin Langhoff, 2005-08-16 03:17

Subject: Re: How do I track pu branch?
Message-ID: <46a038f90508152017290a4de9@mail.gmail.com>
URL: https://gitlist.dev/e/46a038f90508152017290a4de9%40mail.gmail.com
In-Reply-To: <7v4q9qr4gn.fsf@assigned-by-dhcp.cox.net>

```
On 8/16/05, Junio C Hamano <junkio@cox.net> wrote:
> Martin Langhoff <martin.langhoff@gmail.com> writes:
> 
> > Following an extenal repo, I am not getting all the heads. This is by
> > design, AFAIK, and the question is how do I find what heads the repo
> > offers and pull them in so I can call them by name?
> 
> I suspect the Subject: line and your question do not mesh well,
> but anyway..

And even then, your answer is great. Thanks! 

I was half-expecting a mechanism to track "all branches/heads from a
remote repo" by rsync'ing the refs/heads directory outside of the git
protocol. That's perhaps why I had the wrong mindset.

All in all, it is a bit of a roundabout way of tracking things. 

cheers,


martin

```
