From: Linus Torvalds Date: Tue, 13 Jun 2006 03:28:52 GMT Subject: Re: Problem upgrading to 1.4.0 Message-ID: In-Reply-To: <1150167759.4297.95.camel@dv> On Mon, 12 Jun 2006, Pavel Roskin wrote: > > > You can get a list of the remote branches whenever you want: > > > > $ git ls-remote -h > > I heard of that command. But git-clone only uses it for local and rsync > protocols. The native format doesn't _need_ to use "git ls-remote", because the native format does it on its own. In fact, "git ls-remote" actually uses the pack transfer protocol to figure out what the remote heads are (it just then doesn't _ask_ for anything), so in many ways you can see "git ls-remote" as being just a helper around the basic clone/pull protocol. So "git clone" ends up doing the equivalent of a git ls-remote to populate the initial local heads and tags. It's just that for the native protocol, it all happens together in one burst. Linus