https://bz.mercurial-scm.org/show_bug.cgi?id=6384
Bug ID: 6384 Summary: largefiles breaks topics over ssh transport Product: Mercurial Version: 5.4.2 Hardware: PC OS: Linux Status: UNCONFIRMED Severity: bug Priority: wish Component: largefiles Assignee: bugzi...@mercurial-scm.org Reporter: blazej.cegie...@gmail.com CC: mercurial-devel@mercurial-scm.org, nato...@gmail.com Python Version: --- Originally discovered on heptapod instance with additional largefiles extension enabled. I was successfully using largefiles and topics over ssh when ssh was introduced in heptapod-0.8. However after upgrading heptapod to newer version 0.12 which also brought updated versions of mercurial and hg-evolve I lost that ability. Same stayed for most recent heptapod-0.14.2 which is using Mercurial 5.4.2 / Python 3.8.4 / hg-evolve 10.0.0. Had a bit of look around and found that if I apply same old hack, applied earlier just to http proto, largefiles + topics overs ssh works. Old hack for http transport only: ``` changeset: 19917:cff331cbb5ee user: Mads Kiilerich <mad...@unity3d.com> date: Thu Oct 10 04:28:39 2013 +0200 summary: largefiles: make the protocol hack for replacing heads with lheads more precise diff -r fb583a1efef0 -r cff331cbb5ee hgext/largefiles/proto.py --- a/hgext/largefiles/proto.py Mon Apr 01 20:01:16 2013 -0700 +++ b/hgext/largefiles/proto.py Thu Oct 10 04:28:39 2013 +0200 @@ -5,6 +5,7 @@ import os import urllib2 +import re from mercurial import error, httppeer, util, wireproto from mercurial.wireproto import batchable, future @@ -166,9 +167,11 @@ args['cmds'] = args['cmds'].replace('heads ', 'lheads ') return ssholdcallstream(self, cmd, **args) +headsre = re.compile(r'(^|;)heads\b') + def httprepocallstream(self, cmd, **args): if cmd == 'heads' and self.capable('largefiles'): cmd = 'lheads' if cmd == 'batch' and self.capable('largefiles'): - args['cmds'] = args['cmds'].replace('heads ', 'lheads ') + args['cmds'] = headsre.sub('lheads', args['cmds']) return httpoldcallstream(self, cmd, **args) ``` Don't know why it was working earlier and why it got broken now. Were there changes in hg ssh transport protocol? As the change (if correct) is trivial, I'm happy to exercise contribution process, prob via phab. -- You are receiving this mail because: You are on the CC list for the bug. _______________________________________________ Mercurial-devel mailing list Mercurial-devel@mercurial-scm.org https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel