threads / discuss / 55260

Possible to use git over custom ssh libraries?

Subject: Possible to use git over custom ssh libraries?

## tl;dr

4 messages between Mar 5, 2021 and Mar 5, 2021.

replies: 3people: 3as markdown or json

Stef Bon· Mar 5, 2021, 08:13 UTC · lore

I'm working on a set of network services using SSH, like SFTP, backup, fsnotify, (text/video) chat, connection forwarding using my own SSH implementation. See:

https://github.com/stefbon/OSNS

Now I want to also provide support for browsing remote git repositories using my ssh libraries, which will provide the transport layer.

Is it possible to use git in combination with my own libraries? Or do I have to use libgit2 for that or something else?

Thanks in advance,
Stef Bon
Bryan Turner· Mar 5, 2021, 08:30 UTC · re: Stef Bon · lore

Re: Possible to use git over custom ssh libraries?

On Fri, Mar 5, 2021 at 12:14 AM Stef Bon <stefbon@gmail.com> wrote:
Show 10 quoted lines
>
> I'm working on a set of network services using SSH, like SFTP, backup,
> fsnotify, (text/video) chat, connection forwarding using my own SSH
> implementation. See:
>
> https://github.com/stefbon/OSNS
>
> Now I want to also provide support for browsing remote git
> repositories using my ssh libraries, which will provide the transport
> layer.

Git doesn't use any SSH libraries directly, as far as I'm aware. It forks ssh and that does what it does. Git has an ssh.variant/GIT_SSH_VARIANT[1] toggle can be used to tell it a bit about how it should expect ssh to behave so it can assemble the right command line.

That implies you'd need to use your libraries to build at least a minimal ssh command you could configure Git to use. GIT_SSH[2] can be used to tell Git where to find the ssh binary.

Show 7 quoted lines
>
> Is it possible to use git in combination with my own libraries? Or do
> I have to use libgit2 for that or something else?
>
> Thanks in advance,
>
> Stef Bon

Hope this helps! -b

[1] https://git-scm.com/docs/git-config#Documentation/git-config.txt-sshvariant [2] https://git-scm.com/docs/git#Documentation/git.txt-codeGITSSHcode

Stef Bon· Mar 5, 2021, 14:22 UTC · re: Bryan Turner · lore

Re: Possible to use git over custom ssh libraries?

Hi Bryan,

thanks for your reaction. Git itself can thus deal with a different ssh implementation, only I cannot use that for my fuse fs. I need I library which "talks" git.

What is libgit2 in this context? Is it a library which uses the git internals, or is git self written in libgit2? And can I use that to use custom ssh libraries and build a fuse fs with it?

Stef
brian m. carlson· Mar 5, 2021, 21:53 UTC · re: Stef Bon · lore

Re: Possible to use git over custom ssh libraries?

On 2021-03-05 at 14:22:42, Stef Bon wrote:
Show 9 quoted lines
> Hi Bryan,
> 
> thanks for your reaction. Git itself can thus deal with a different
> ssh implementation, only I cannot use that for
> my fuse fs. I need I library which "talks" git.
> 
> What is libgit2 in this context? Is it a library which uses the git
> internals, or is git self written in libgit2?
> And can I use that to use custom ssh libraries and build a fuse fs with it?

libgit2 is an independent implementation of Git as a library. Git and libgit2 generally don't share code, although some code has been copied from one to the other. It supports SSH using libssh2, although you could probably patch it to use a different library.

That's the only general purpose C-compatible implementation of Git as a library that I'm aware of.

-- 
brian m. carlson (he/him or they/them)
Houston, Texas, US

← back to recent threads