Mercurial hosting for Octave developers

For all Octave maintainers and @gsoc_contributors,

It is possible to apply for Mercurial hosting at https://hg.octave.org/ for Octave development purpose only.

To apply:

  1. Generate a public/private key pair.

    Never ever show anyone your PRIVATE key!!

  2. Send the following information to webmaster@octave.org (better for now as Discourse PM to @siko1056 ):
    1. username (e.g. siko1056)
    2. PUBLIC key
    3. repository name (e.g. octave-kai)

After getting the notification, the repository can be cloned and used like any Mercurial repository as follows:

hg clone ssh://siko1056@fosshost.octave.org:18144//var/www/hg.octave.org/repos/octave-kai
hg pull
hg push
1 Like

Is this also where MXE Octave is hosted now? If so, has the access information been transferred from the old host? Or do you need to install the keys again for the new server?

1 Like

Ah good catch, this must be changed as well. Sorry for the inconvenience.

@mmuetzel and all other mxe developers, please send me your public keys via pm. I do not have access to the previous location :sweat:

The url in the .hg/hgrc must become

ssh://mxe@fosshost.octave.org:18144//var/www/hg.octave.org/repos/mxe-octave
2 Likes

Thanks. Works for me now.

Pinging @lostbard as the primary contributor to MXE Octave.

1 Like

Noted.

If you add

Host hg.octave.org
     Port 18144

to your ~/.ssh/config file then you can use

ssh://mxe@hg.octave.org//var/www/hg.octave.org/repos/mxe-octave

Apart from the port number, which I don’t think we can control because fosshost is blocking the usual ssh port, it would be nice if we could have something like

ssh://USER@hg.octave.org/mxe-octave

On savannah we don’t even need the USER part and somehow

ssh://hg.sv.gnu.org/octave

works and permissions are managed. It would be great if we could do the same.

I suppose for each user that needs to access mercurial using ssh, we could create a user ID without a valid shell and a .ssh/authorized_keys file that has an entry like

command="hg-ssh hg/mxe-octave" ssh-rsa KEY...

The hg-ssh command is a Python script. It is already installed on the fosshost system. This is similar to what we were doing on the old hg.octave.org system except that we had one shared gnuoctave login ID. I’d rather not use a shared login ID if possible.