threads / discuss / 11202

Where has "git ls-remote" reference pattern matching gone?

Subject: Where has "git ls-remote" reference pattern matching gone?

## tl;dr

4 messages between Dec 8, 2007 and Dec 9, 2007.

replies: 3people: 3as markdown or json

Eyvind Bernhardsen· Dec 8, 2007, 22:05 UTC · lore

git-ls-remote(1) says that ls-remote supports filtering by reference name:

Show 25 quoted lines
> SYNOPSIS
>        git-ls-remote [--heads] [--tags]  [-u <exec> | --upload-pack  
> <exec>]
>                      <repository> <refs>...
>
> [...]
>
>        <refs>...
>               When unspecified, all references, after filtering done  
> with
>               --heads and --tags, are shown. When <refs>... are  
> specified,
>               only references matching the given patterns are  
> displayed.
>
> [...]
>
>        $ git ls-remote --tags public v\*
>        d6602ec5194c87b0fc87103ca4d67251c76f233a        refs/tags/v0.99
>        f25a265a342aed6041ab0cc484224d9ca54b6f41        refs/tags/ 
> v0.99.1
>        c5db5456ae3b0873fc659c19fafdde22313cc441        refs/tags/ 
> v0.99.2
>        7ceca275d047c90c0c7d5afb13ab97efdf51bd6e        refs/tags/ 
> v0.99.3

But when I try to use the <refs> argument on a current build of git (git version v1.5.3.7-1112-g9758ecd), I just get its usage message, which doesn't mention that argument:

> vredefort:[backup]% git ls-remote origin foob
> usage: git-ls-remote [--upload-pack=<git-upload-pack>]  
> [<host>:]<directory>

ls-remote was recently made a builtin; was reference filtering deliberately removed, or was it just lost in translation from the shell script?

Eyvind Bernhardsen
Junio C Hamano· Dec 9, 2007, 01:34 UTC · re: Eyvind Bernhardsen · lore

Re: Where has "git ls-remote" reference pattern matching gone?

Eyvind Bernhardsen <eyvind-git@orakel.ntnu.no> writes:
> ls-remote was recently made a builtin; was reference filtering
> deliberately removed, or was it just lost in translation from the
> shell script?
I suspect that to be the case.  Daniel, I think this is yours.
Daniel Barkalow· Dec 9, 2007, 02:20 UTC · re: Junio C Hamano · lore

Re: Where has "git ls-remote" reference pattern matching gone?

On Sat, 8 Dec 2007, Junio C Hamano wrote:
Show 7 quoted lines
> Eyvind Bernhardsen <eyvind-git@orakel.ntnu.no> writes:
> 
> > ls-remote was recently made a builtin; was reference filtering
> > deliberately removed, or was it just lost in translation from the
> > shell script?
> 
> I suspect that to be the case.  Daniel, I think this is yours.

Ah, sure enough. I didn't see that feature there, I guess. Am I right that it's supposed to have "git ls-remote origin db/*" return refs of the form "*/db/*", interpreted as for globs?

Eyvind: can I get a test case? I haven't ever used this feature, and I'm 
not sure I'll implement it correctly.
	-Daniel
*This .sig left intentionally blank*
Eyvind Bernhardsen· Dec 9, 2007, 15:38 UTC · re: Daniel Barkalow · lore

Re: Where has "git ls-remote" reference pattern matching gone?

On 9. des.. 2007, at 03.20, Daniel Barkalow wrote:
Show 18 quoted lines
> On Sat, 8 Dec 2007, Junio C Hamano wrote:
>
>> Eyvind Bernhardsen <eyvind-git@orakel.ntnu.no> writes:
>>
>>> ls-remote was recently made a builtin; was reference filtering
>>> deliberately removed, or was it just lost in translation from the
>>> shell script?
>>
>> I suspect that to be the case.  Daniel, I think this is yours.
>
> Ah, sure enough. I didn't see that feature there, I guess. Am I  
> right that
> it's supposed to have "git ls-remote origin db/*" return refs of the
> form "*/db/*", interpreted as for globs?
>
> Eyvind: can I get a test case? I haven't ever used this feature, and  
> I'm
> not sure I'll implement it correctly.

I've noticed that a fix made it to master already; that's fast work by you and Junio! Unfortunately, it fails the test case I was going to suggest, which is the one in the ls-remote manpage (see my response in the patch thread).

I haven't used the ref matching for anything (yet), so I don't have any other test cases.

Eyvind Bernhardsen

← back to recent threads