Hi, I dive into the problem and I thing the attached patch (generated with quilt) should fix the problems. I installed it on my mercurial server, and I can't see any problem yet. I didn't find any test suite to validate I didn't break anything.
BR, Jeremy
fix: repo.changectx method has been removed from the API fix: repo.join method has been removed from the API Index: mercurial-server-1.2/src/mercurialserver/changes.py =================================================================== --- mercurial-server-1.2.orig/src/mercurialserver/changes.py 2011-09-06 12:40:10.000000000 +0200 +++ mercurial-server-1.2/src/mercurialserver/changes.py 2019-12-13 14:48:13.712436790 +0100 @@ -3,10 +3,10 @@ """ def changes(repo, node): - start = repo.changectx(node).rev() + start = repo[node].rev() try: end = len(repo.changelog) except: end = repo.changelog.count() for rev in xrange(start, end): - yield repo.changectx(rev) + yield repo[repo.changelog.node(rev)] Index: mercurial-server-1.2/src/mercurialserver/servelog.py =================================================================== --- mercurial-server-1.2.orig/src/mercurialserver/servelog.py 2011-09-06 12:40:10.000000000 +0200 +++ mercurial-server-1.2/src/mercurialserver/servelog.py 2019-12-13 14:48:13.720436800 +0100 @@ -26,7 +26,7 @@ else: raise mercurial.util.Abort(_('servelog installed as wrong hook type,' ' must be changegroup or outgoing but is %s') % hooktype) - log = open(repo.join("mercurial-server.log"), "a+") + log = open(os.path.join(repo.path, "mercurial-server.log"), "a+") try: fcntl.flock(log.fileno(), fcntl.LOCK_EX) log.seek(0, os.SEEK_END)