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)

Reply via email to