# Did I miss something? git-clone doesn't grab all branches????

4 messages from 2007-03-30 to 2007-03-31. Participants: Timur Tabi, Loeliger Jon-LOELIGER, Junio C Hamano.
Thread: https://gitlist.dev/t/7484

## Timur Tabi, 2007-03-30 15:57

Subject: Did I miss something? git-clone doesn't grab all branches????
Message-ID: <460D336E.9040708@freescale.com>
URL: https://gitlist.dev/e/460D336E.9040708%40freescale.com

```
I used to be able to do this:

git-clone http://ftp.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc.git
cd powerpc
git-checkout for-2.6.22

But that doesn't work any more.  Why not?  It was working perfectly fine before.

So someone told me I need to do this:

git-clone http://ftp.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc.git
cd powerpc
git-fetch http://www.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc.git 
for-2.6.22:for-2.6.22
git-checkout for-2.6.22

Ok, fine, but now when I do git-pull, I get this:

[snip]
* refs/remotes/origin/merge: fast forward to branch 'merge' of 
http://ftp.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc
   old..new: e0f2e3a..190a440
Warning: No merge candidate found because value of config option
          "branch.for-2.6.22.merge" does not match any remote branch fetched.
No changes.

What does the warning mean?  And why is it so difficult to clone branches now?

-- 
Timur Tabi
Linux Kernel Developer @ Freescale

```

## Loeliger Jon-LOELIGER, 2007-03-30 16:30

Subject: RE: Did I miss something? git-clone doesn't grab all branches????
Message-ID: <AF0367BA48C55940A43CCF08DF35553C0114148C@az33exm24.fsl.freescale.net>
URL: https://gitlist.dev/e/AF0367BA48C55940A43CCF08DF35553C0114148C%40az33exm24.fsl.freescale.net
In-Reply-To: <460D336E.9040708@freescale.com>

```
Timur,

You missed something. :-) You didn't read the Release
Notes for 1.5 that I forwarded.  As a start, do this:

    git branch -a
 
Jdl

```

## Timur Tabi, 2007-03-30 17:03

Subject: Re: Did I miss something? git-clone doesn't grab all branches????
Message-ID: <460D42FE.1080703@freescale.com>
URL: https://gitlist.dev/e/460D42FE.1080703%40freescale.com
In-Reply-To: <AF0367BA48C55940A43CCF08DF35553C0114148C@az33exm24.fsl.freescale.net>

```
Loeliger Jon-LOELIGER wrote:
> Timur,
> 
> You missed something. :-) You didn't read the Release
> Notes for 1.5 that I forwarded. 

I didn't get that email.  However, I did read the release notes for 1.5 on the web, and it 
didn't help.  It's as if I'm on a different planet then everyone else who uses git, and so 
no one understands what I'm trying to do.

I hate branches.  I never use them.  I create a whole new tree for each commit that I work 
on.  So I like to have a clone of all of the main external repositories on my hard drive. 
  Then I just clone these local repos into other trees on my hard drive.

In the past, my clone of paulus/powerpc.git contained everything.  Every time I did a 
git-pull, it would grab everything.  Then I could do a local clone/checkout if I ever 
wanted to work on a branch (like for-2.6.22).  I didn't have to know the names of the 
branches when I did git-clone.

Because of the changes to git-clone, this process got a whole lot more complicated.  Now I 
need to issue multiple commands for each branch.  Ugh.

 > As a start, do this:
> 
>     git branch -a

I think I figured it out, but I'm not sure it's working:

git-clone http://www.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc.git powerpc.git
cd powerpc.git
git-checkout origin/for-2.6.22
git-checkout -b for-2.6.22

When I do this, git-branch -l shows:

* for-2.6.22
   master

So I think I'm okay.

-- 
Timur Tabi
Linux Kernel Developer @ Freescale

```

## Junio C Hamano, 2007-03-31 01:30

Subject: Re: Did I miss something? git-clone doesn't grab all branches????
Message-ID: <7v1wj6yzbp.fsf@assigned-by-dhcp.cox.net>
URL: https://gitlist.dev/e/7v1wj6yzbp.fsf%40assigned-by-dhcp.cox.net
In-Reply-To: <460D42FE.1080703@freescale.com>

```
Timur Tabi <timur@freescale.com> writes:

> In the past, my clone of paulus/powerpc.git contained everything.
> Every time I did a git-pull, it would grab everything.  Then I could
> do a local clone/checkout if I ever wanted to work on a branch (like
> for-2.6.22).  I didn't have to know the names of the branches when I
> did git-clone.

If that is how you use multiple trees, I think you can make that
"My central repository which is a mirror of Paulus" a bare
repository clone; keep updating it with git-fetch instead as a
bare repository does not have an associated working tree.

	( setup )

	$ git clone --bare git://git.kernel.org/.../ paulus-mirror.git

	( periodical mirror update from upstream )

        $ cd paulus-mirror.git && git fetch

	( forking off your play area )

	$ git clone -l -s paulus-mirror.git foobranch.git
        $ cd foobranch.git
        $ git checkout --track -b foobranch origin/foobranch
	$ hack hack

	( after mirror update )
        $ cd foobranch.git
        $ git pull ;# this pulls from your mirror

```
