On Mon, 12 Jun 2006, Pavel Roskin wrote: > > > You can get a list of the remote branches whenever you want: > > > > $ git ls-remote -h <remote> > > 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 - : send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html