Possible to use git over custom ssh libraries?

4 messages, 3 authors, 2021-03-05 · open the first message on its own page

Possible to use git over custom ssh libraries?

From: Stef Bon <hidden>
Date: 2021-03-05 08:14:13

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

Re: Possible to use git over custom ssh libraries?

From: Bryan Turner <hidden>
Date: 2021-03-05 08:31:05

On Fri, Mar 5, 2021 at 12:14 AM Stef Bon [off-list ref] wrote:
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.
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

Re: Possible to use git over custom ssh libraries?

From: Stef Bon <hidden>
Date: 2021-03-05 14:24:02

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

Re: Possible to use git over custom ssh libraries?

From: brian m. carlson <hidden>
Date: 2021-03-05 21:54:34

On 2021-03-05 at 14:22:42, Stef Bon wrote:
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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help