Get tree of remote repository using custom ssh library.
From: Stef Bon <hidden>
Date: 2021-08-22 18:47:35
Hi,
I want to add git support to my fuse workspace, enable browsing of the
users repositories.
I've got a custom ssh library:
struct ssh_channel_s *channel=create_channel(session, _CHANNEL_TYPE_SESSION);
if (channel==NULL) return -1;
set_channel_exec(channel, command);
if (add_channel(channel, CHANNEL_FLAG_OPEN)==-1) goto free;
if (send_channel_start_command_message(channel, 1, &seq)>0) {
struct ssh_payload_s *payload=NULL;
payload=get_ssh_payload_channel(channel, &expire, &seq, &error);
if (payload && payload->type==SSH_MSG_CHANNEL_DATA) {
.... process the received data
}
free_payload(&payload);
}
Now I read:
https://git-scm.com/book/en/v2/Git-Internals-Transfer-Protocols
and
https://www.git-scm.com/docs/protocol-v2
How can I get remote repositories of a user on a server (say
github.com, user stefbon) and browse each HEAD repository and the
source tree?
Stef Bon