Mailing List Archive

Layman adding git over ssh only repository
Hi there,

I tried to add a repository which is only reachable via git over ssh; no
access via git port (9418 according to /etc/services) or http(s). Only ssh
connections with public key are accepted.

I tried
Layman -o ssh://git@myserver/path/to/repo.git -f -a myrepo, but failed with
"invalid url".
Then I tried the same with "git://git@..." , also failed.

It seems like it does not accept the url scheme and refusing to connect at
all. Next thing I tried is to create a repository.xml and put it to the local
file system:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE repositories SYSTEM "/dtd/repositories.dtd">
<repositories xmlns="" version="1.0">
<repo quality="experimental" status="unofficial">
<name>my-repo</name>
<description lang="en">My overlay</description>
<owner type="person">
<email>alexander.puchmayr#my-email.com</email>
<name>Alexander Puchmayr></name>
</owner>
</repo>
<source type="git">git://myserver/path/to/repo.git</source>
</repositories>

Layman -o repository.xml -f -a myrepo now tries to fetch it via the git port
(9418), failing with timeout.

Replacing source type="git" with "ssh", "ssh+git", "git+ssh" also did not
succeed.

I'm pretty sure not being the first one trying this, but I cannot find any
useful information how to do this. So how can I achieve this?

Thanks
Alex
Re: Layman adding git over ssh only repository [ In reply to ]
On 2022-08-15, Alexander Puchmayr wrote:

> Hi there,
>
> I tried to add a repository which is only reachable via git over ssh; no
> access via git port (9418 according to /etc/services) or http(s). Only ssh
> connections with public key are accepted.
>
> I tried
> Layman -o ssh://git@myserver/path/to/repo.git -f -a myrepo, but failed with
> "invalid url".
> Then I tried the same with "git://git@..." , also failed.
>
> It seems like it does not accept the url scheme and refusing to connect at
> all. Next thing I tried is to create a repository.xml and put it to the local
> file system:
>
> <?xml version="1.0" encoding="UTF-8"?>
> <!DOCTYPE repositories SYSTEM "/dtd/repositories.dtd">
> <repositories xmlns="" version="1.0">
> <repo quality="experimental" status="unofficial">
> <name>my-repo</name>
> <description lang="en">My overlay</description>
> <owner type="person">
> <email>alexander.puchmayr#my-email.com</email>
> <name>Alexander Puchmayr></name>
> </owner>
> </repo>
> <source type="git">git://myserver/path/to/repo.git</source>
> </repositories>
>
> Layman -o repository.xml -f -a myrepo now tries to fetch it via the git port
> (9418), failing with timeout.
>
> Replacing source type="git" with "ssh", "ssh+git", "git+ssh" also did not
> succeed.
>
> I'm pretty sure not being the first one trying this, but I cannot find any
> useful information how to do this. So how can I achieve this?

This is not something I have tried myself, but a quick glance at the
online manual page for layman shows a git+ssh example (under "Overlay
lists format") - the source type is still "git", "git+ssh" is only in
the protocol/scheme part of the URL, so perhaps it needs to be something
like:

<source type="git">git+ssh://myserver/path/to/repo.git</source>

--
(Apologies if this is not helpful,)
Nuno Silva