Any advice on shared access via ssh as well as large files?

Marcin Kasperski Marcin.Kasperski at mekk.waw.pl
Tue Jan 12 21:34:37 UTC 2021


> * For access control, I'd prefer something like gitolite [1], which
>   uses a single ssh account and an ACL based on the authenticated
>   remote user.
> (…)
>   The closest third-party setup similar to gitolite that I've found is
>   mercurial-server [3], but it seems abandoned [4].

I happily use (patched somewhat) mercurial-server for many years. Access
via ssh to single account with gateway command (hg-ssh) which verifies
access and allows only clones/pulls/pushes, managing allowed ssh keys
and mapping of those to users via commits to special repo etc.

There are two problems:

– it seems official repo is unavailable or gone (I can republish if
  necessary but wouldn't like to compete if the problem is temporary or
  if sb already did it)

– it wasn't patched for newest mercurials so I had to make few
  trivial patches to make it work, mostly changing
  a) 
     raise mercurial.util.Abort(…)
  to
     raise mercurial.error.Abort(…)  
  b) 
     repo.changectx(…)
  to
     repo[node]
  (yeah, my two favorite incompatibilities of APIs extremely
   popular in tools and extensions which hg devs for some
   reason decided to break)

Internally mercurial-server is (was?) small and clear piece of python
code (~500 lines including comments), easy to patch or change where
necessary. It even was packaged for Debian IIRC for some releases
(still, I ended up making some changes and using changed version
fairly quickly, IIRC starting from different logging).

{ Well, if sb. digs a bit to confirm whether it is really gone
  and really not published anywhere, I can republish it and
  add some necessary compatibility patches. }




More information about the Mercurial mailing list