From: Jonathan Nieder Date: Wed, 12 May 2010 10:25:12 GMT Subject: Re: Ignoring remote branches. Message-ID: <20100512102512.GA17810@progeny.tock> In-Reply-To: <9F4F3DE1-59FE-4D27-A40E-81856BF95C9D@gmail.com> Hi Steven, Steven Michalske wrote: > I want to track new branches, so specifying the branches I want > to fetch is tedious. > > Any workarounds to ignore all branches that match *.stgit I would suggest using ‘git ls-remote’ and ‘git fetch’ to grab just the branches you want. #!/bin/sh set -e : ${remote=origin} : ${options=--dry-run} script='!/\.stgit$/ s' script="${script}#.*\\trefs/heads/\\(.*\\)\$" script="${script}#git fetch $options $remote " script="${script} refs/heads/\\1:refs/remotes/$remote/\\1" script="${script}#p" eval "$(git ls-remote "$remote" | sed -n "$script")" I am not sure how to generalize this: a pre-fetch hook that can reject some branch names? a fetchregexp configuration item? [remote "origin"] url = git://git.example.com/repo.git/ fetchregexp = "refs/heads/\([^.]*\):refs/remotes/origin/\1" Maybe we can solve some similar problems at the same time. Thanks, Jonathan