Subject: Re: pulling Already up-to-date linux-2.6 repo takes ~8 minutes?

From: "Shawn O. Pearce" <[email-masked]>
Date: Thu, 18 Oct 2007 00:50:02 -0400

Mike Galbraith <[email-masked]> wrote:
> git_pull_linus scriptlet:
> 
> #!/bin/sh
> (cd linux-2.6; git pull git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git)
> (cd linux-2.6; git pull -t git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git)
> 
> root@Homer: time ./git_pull_linus
...
> remote: Total 48507 (delta 38878), reused 44654 (delta 35166)

Well, Linus and crew are pretty busy beavers.  Its shocking how
fast they can make a dam^H^H^Hoperating system better.  :-)

...
> Already up-to-date.
> You are not currently on a branch; you must explicitly
> specify which branch you wish to merge:
>   git pull <remote> <branch>

The problem here is you aren't on a branch, you are on a detached
HEAD.  So we must have setup the wrong thing in .git/FETCH_HEAD
and we didn't actually merge.

What version of git is this, exactly (`git version`)?

I'd suggest making your life a little bit easier.  Consider creating
a remote that points to Linus:

  $ git remote add linus git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git
  $ git checkout -b master   ; # or any other branch
  $ git config branch.master.remote linus
  $ git config branch.master.merge refs/heads/master

Now you can update from Linus with just:

  $ git pull

Provided you are on branch "master", or whatever other branches
you setup those branch.*.remote and branch.*.merge configuration
options for.

-- 
Shawn.