git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: git-send-pack: broken handling of ref specs with wildcards

From
Daniel Barkalow <barkalow@iabervon.org>
Date
Jun 8, 2007, 18:47 UTC
Message-ID
<Pine.LNX.4.64.0706081357420.5848@iabervon.org>
In-Reply-To
<7v8xavlzu0.fsf@assigned-by-dhcp.cox.net>
On Thu, 7 Jun 2007, Junio C Hamano wrote:
Show 23 quoted lines
> Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:
> 
> > On Fri, 8 Jun 2007, Alex Riesen wrote:
> >
> >> Try something like this:
> >> 
> >>     git-send-pack --remote=origin --thin /some/other/repo \
> >>     'refs/heads/*:refs/remotes/child/*'
> >> 
> >> The result looks broken: the sent reference are created not in
> >> refs/remotes/child/ but just in refs/heads/ of /some/other/repo.
> >
> > I had the impression that it was git-push, a porcelain, which handles 
> > refspec wildcards, not send-pack, which is plumbing.
> 
> Well, I do not think it is wrong per-se if plumbing send-pack
> starts understanding 'a/*:b/*'.  Earlier it only understood
> concrete refspecs, and such a refspec that has asterisks cannot
> be concrete, as '*' is an invalid char in a refname.  So there
> is no risk of confusion.
> 
> That is, as long as it is done right, which was not true in this
> case.

Good catch; all of my configurations have a {foo}/*:{foo}/* pattern for the push, and I hadn't figured out a way to write tests for push and fetch.

The code looks like it should do the right thing... now that somebody's fixed it before I got to it. You people are far too efficient.

I'll probably break out a function for applying a pattern, since there are multiple places that need to do it, but that can go into a series I'm working on now.

	-Daniel
*This .sig left intentionally blank*
Previous: Junio C HamanoNext: Alex Riesen
Message 4 of 8 in “git-send-pack: broken handling of ref specs with wildcards”
  1. Alex RiesenJun 7, 2007
  2. Johannes SchindelinJun 7, 2007
  3. Junio C HamanoJun 8, 2007
  4. Daniel BarkalowJun 8, 2007
  5. Fix push with refspecs containing wildcardsAlex Riesen, Jun 7, 2007
  6. Junio C HamanoJun 8, 2007
  7. Junio C HamanoJun 8, 2007
  8. Alex RiesenJun 8, 2007

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.