From: Junio C Hamano Date: Sun, 26 Aug 2007 04:26:29 GMT Subject: Re: [PATCH] Git.pm: Add remote_refs() git-ls-remote frontend Message-ID: <7v6432udje.fsf@gitster.siamese.dyndns.org> In-Reply-To: <20070825221143.6514.22516.stgit@rover> Petr Baudis writes: > diff --git a/git-remote.perl b/git-remote.perl > index 01cf480..8ce8418 100755 > --- a/git-remote.perl > +++ b/git-remote.perl > @@ -128,10 +128,7 @@ sub update_ls_remote { > return if (($harder == 0) || > (($harder == 1) && exists $info->{'LS_REMOTE'})); > > - my @ref = map { > - s|^[0-9a-f]{40}\s+refs/heads/||; > - $_; > - } $git->command(qw(ls-remote --heads), $info->{'URL'}); > + my @ref = keys %{$git->remote_refs($info->{'URL'}, [ 'heads' ])}; > $info->{'LS_REMOTE'} = \@ref; > } IIRC, ls-remote returns refs sorted and this function returns them as it receives. Doesn't this change make @ref randomly ordered?