Thread (9 messages) flat view 9 messages, 5 authors, 2016-06-15

Re: Find main branch

From: Jeff King <hidden>
Date: 2016-06-15 23:07:45

On Thu, Jan 14, 2016 at 12:12:35PM -0700, Bryan Turner wrote:
The same thing works for GitHub. Here's the hazelcast/hazelcast repository:

bturner@ubuntu:~$ git remote-https
https://github.com/hazelcast/hazelcast.git
https://github.com/hazelcast/hazelcast.git | head
list
@refs/heads/master HEAD
988810c4b5c5195412c65357e06cbb0e51173258 refs/heads/3.1.8
bddfb328e4779bccec6f7788c94960f6292b02c9 refs/heads/3.2-fix-eacg
84e7d1006cd342c39afdf0ac520b5b04b8233d75 refs/heads/3.3.6
2e4ffc4f593de0869f0db9f7224f964f72dac15d refs/heads/3.4-gem
d0a7d416b1220ef4badd98e42991dabe34c7beeb refs/heads/3.5.1
6a13721d33bdb07de23f5c505b689e2ee50d5abb refs/heads/3.5.3-ercssn
56676b20baae8668e731f17c9f3b9844ddd486d0 refs/heads/3.5.4

I'm not aware of a simple equivalent for SSH. Also, note that this
"git remote-https" trick won't work on Windows. When you hit Enter
after "list" it writes a CRLF, so the "git-remote-https" process
compares "listCR" against its list of known commands and finds no
match.
There's no equivalent for ssh, because you're hooking in at the
remote-helper layer, and ssh (and git://) are builtins, and http is not.

I mentioned "git remote" elsewhere in the thread, which is probably the
least gross way (it's just ugly because it writes to a file instead of
to stdout). But you can also snoop on the protocol:

  $ GIT_TRACE_PACKET=3 git ls-remote origin 3>&1 >/dev/null |
    perl -lne '/symref=(\S+)/ and print $1'
  HEAD:refs/heads/master

It would be nice if "git ls-remote" just had some way of printing the
capabilities.

-Peff
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help