Subject: fetch branch blacklist

From: [email-masked]
Date: Thu, 08 Jan 2009 08:07:43 +0800

If one wants to always fetch all except one remote branch, one cannot
just blacklist it, but must instead whitelist all the rest.
$ git branch -rd origin/man origin/html
Deleted remote branch origin/man.
Deleted remote branch origin/html.
Plus I edited them out of FETCH_HEAD. Nonetheless, back from the dead:
$ git pull
>From git://git.kernel.org/pub/scm/git/git
 * [new branch]      html       -> origin/html
 * [new branch]      man        -> origin/man
The only solution is to change .git/config:
[remote "origin"]
	url = git://git.kernel.org/pub/scm/git/git.git
#	fetch = +refs/heads/*:refs/remotes/origin/*
	fetch = +refs/heads/maint:refs/remotes/origin/maint
	fetch = +refs/heads/master:refs/remotes/origin/master
	fetch = +refs/heads/next:refs/remotes/origin/next
	fetch = +refs/heads/pu:refs/remotes/origin/pu
	fetch = +refs/heads/todo:refs/remotes/origin/todo
(Such explicit whitelisting will also sacrifice automatic addition or
even notification, if desired, of future new branches too.)
There is a remote.<name>.skipDefaultUpdate variable, but it probably
isn't fine grained enough.