# Ignoring remote branches.

2 messages from 2010-05-11 to 2010-05-12. Participants: Steven Michalske, Jonathan Nieder.
Thread: https://gitlist.dev/t/23775

## Steven Michalske, 2010-05-11 07:40

Subject: Ignoring remote branches.
Message-ID: <9F4F3DE1-59FE-4D27-A40E-81856BF95C9D@gmail.com>
URL: https://gitlist.dev/e/9F4F3DE1-59FE-4D27-A40E-81856BF95C9D%40gmail.com

```
Howdy,

I would like to know a way to exclude fetching stacked git branches  
from repositories.

But 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

Steve

```

## Jonathan Nieder, 2010-05-12 10:25

Subject: Re: Ignoring remote branches.
Message-ID: <20100512102512.GA17810@progeny.tock>
URL: https://gitlist.dev/e/20100512102512.GA17810%40progeny.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

```
