# partial globbing in fetch refspecs broken in v1.5.5

3 messages from 2008-05-16 to 2008-05-17. Participants: Nikolaus Schulz, Jeff King.
Thread: https://gitlist.dev/t/13549

## Nikolaus Schulz, 2008-05-16 21:28

Subject: partial globbing in fetch refspecs broken in v1.5.5
Message-ID: <20080516212833.GA5366@penelope.zusammrottung.local>
URL: https://gitlist.dev/e/20080516212833.GA5366%40penelope.zusammrottung.local

```
Hi, 

the new refspec parser in v1.5.5 has also broken fetch uses like

    git fetch <url> +refs/heads/<foo>*:refs/remotes/<bar>*. 

Such a refspec works like a charm with git 1.5.4.  In case the usefulness of
such a refspec isn't obvious, here's my use case.  I want to track several
remotes, and in particular a selection of branches from one remote repository,
which has the following branches[1]: 

  HEAD
  candidate
  candidate+patches
  debian-experimental
  debian-sarge
  debian-sid
  maint
  master
  release
  release+patches

With git 1.5.4, I can add the following to .git/config

[remote "debian"]
        url = http://smarden.org/git/git.git
        fetch = +refs/heads/debian-*:refs/remotes/debian/*

...and it will work just like '%'-style pattern matching in Makefiles, e.g.
the remote branch debian-sid becomes remotes/debian/sid.  I find that very
natural; but git v1.5.5 rejects this refspec as invalid.  

I am just a beginner with git, and I do not know if there is any problem with
such a use of refspecs.  But if not, I would like to beg the maintainers to
consider restoring this functionality.

Nikolaus

```

## Jeff King, 2008-05-17 05:22

Subject: Re: partial globbing in fetch refspecs broken in v1.5.5
Message-ID: <20080517052212.GC18876@sigill.intra.peff.net>
URL: https://gitlist.dev/e/20080517052212.GC18876%40sigill.intra.peff.net
In-Reply-To: <20080516212833.GA5366@penelope.zusammrottung.local>

```
On Fri, May 16, 2008 at 11:28:34PM +0200, Nikolaus Schulz wrote:

> the new refspec parser in v1.5.5 has also broken fetch uses like
> 
>     git fetch <url> +refs/heads/<foo>*:refs/remotes/<bar>*. 

This was intentionally changed in ef00d150 (Tighten refspec processing).
There is some associated discussion in this thread:

  http://mid.gmane.org/7vwso2ieuu.fsf@gitster.siamese.dyndns.org

But I don't see any particular reason why this syntax should not be
allowed (besides, "it was never meant to be supported, so it was causing
other breakage").

-Peff

```

## Nikolaus Schulz, 2008-05-17 12:23

Subject: Re: partial globbing in fetch refspecs broken in v1.5.5
Message-ID: <20080517122304.GA3745@penelope.zusammrottung.local>
URL: https://gitlist.dev/e/20080517122304.GA3745%40penelope.zusammrottung.local
In-Reply-To: <20080517052212.GC18876@sigill.intra.peff.net>

```
On Sat, May 17, 2008 at 01:22:12AM -0400, Jeff King wrote:
> On Fri, May 16, 2008 at 11:28:34PM +0200, Nikolaus Schulz wrote:
> 
> > the new refspec parser in v1.5.5 has also broken fetch uses like
> > 
> >     git fetch <url> +refs/heads/<foo>*:refs/remotes/<bar>*. 
> 
> This was intentionally changed in ef00d150 (Tighten refspec processing).
> There is some associated discussion in this thread:
> 
>   http://mid.gmane.org/7vwso2ieuu.fsf@gitster.siamese.dyndns.org

Ah.  I had found that commit, but not this discussion, thanks. 
I don't understand what the problem with packing the OP ran into with
his setup, though (see [1]).

> But I don't see any particular reason why this syntax should not be
> allowed (besides, "it was never meant to be supported, so it was causing
> other breakage").

Which breakage?

Nikolaus

[1] http://article.gmane.org/gmane.comp.version-control.git/77381

```
