hgext/simple4server.py
branchstable
changeset 1246 c7db753ca300
parent 1245 580a8f5ea462
child 1248 4279ec5ff3a7
child 1252 d001376b0c09
equal deleted inserted replaced
1245:580a8f5ea462 1246:c7db753ca300
   176     finaldata.write(obsdata)
   176     finaldata.write(obsdata)
   177     finaldata.seek(0)
   177     finaldata.seek(0)
   178     return wireproto.streamres(proto.groupchunks(finaldata))
   178     return wireproto.streamres(proto.groupchunks(finaldata))
   179 
   179 
   180 
   180 
   181 # from evolve extension: 2299204c3c27
   181 # from evolve extension: 3249814dabd1
   182 def _obsrelsethashtreefm0(repo):
   182 def _obsrelsethashtreefm0(repo):
   183     return _obsrelsethashtree(repo, obsolete._fm0encodeonemarker)
   183     return _obsrelsethashtree(repo, obsolete._fm0encodeonemarker)
   184 
   184 
   185 # from evolve extension: 2299204c3c27
   185 # from evolve extension: 3249814dabd1
   186 def _obsrelsethashtreefm1(repo):
   186 def _obsrelsethashtreefm1(repo):
   187     return _obsrelsethashtree(repo, obsolete._fm1encodeonemarker)
   187     return _obsrelsethashtree(repo, obsolete._fm1encodeonemarker)
   188 
   188 
   189 # from evolve extension: 2299204c3c27
   189 # from evolve extension: 3249814dabd1
   190 def _obsrelsethashtree(repo, encodeonemarker):
   190 def _obsrelsethashtree(repo, encodeonemarker):
   191     cache = []
   191     cache = []
   192     unfi = repo.unfiltered()
   192     unfi = repo.unfiltered()
   193     markercache = {}
   193     markercache = {}
   194     for i in unfi:
   194     for i in unfi:
   233         if issue4587:
   233         if issue4587:
   234             print >> sys.stderr, '   Final: %s' % sha.hexdigest()
   234             print >> sys.stderr, '   Final: %s' % sha.hexdigest()
   235             print >> sys.stderr, 'Witchcraft tracking: OFF'
   235             print >> sys.stderr, 'Witchcraft tracking: OFF'
   236     return cache
   236     return cache
   237 
   237 
   238 # from evolve extension: 2299204c3c27
   238 # from evolve extension: 3249814dabd1
   239 def _obshash(repo, nodes, version=0):
   239 def _obshash(repo, nodes, version=0):
   240     if version == 0:
   240     if version == 0:
   241         hashs = _obsrelsethashtreefm0(repo)
   241         hashs = _obsrelsethashtreefm0(repo)
   242     elif version ==1:
   242     elif version ==1:
   243         hashs = _obsrelsethashtreefm1(repo)
   243         hashs = _obsrelsethashtreefm1(repo)
   245         assert False
   245         assert False
   246     nm = repo.changelog.nodemap
   246     nm = repo.changelog.nodemap
   247     revs = [nm.get(n) for n in nodes]
   247     revs = [nm.get(n) for n in nodes]
   248     return [r is None and node.nullid or hashs[r][1] for r in revs]
   248     return [r is None and node.nullid or hashs[r][1] for r in revs]
   249 
   249 
   250 # from evolve extension: 2299204c3c27
   250 # from evolve extension: 3249814dabd1
   251 def srv_obshash(repo, proto, nodes):
   251 def srv_obshash(repo, proto, nodes):
   252     return wireproto.encodelist(_obshash(repo, wireproto.decodelist(nodes)))
   252     return wireproto.encodelist(_obshash(repo, wireproto.decodelist(nodes)))
   253 
   253 
   254 # from evolve extension: 2299204c3c27
   254 # from evolve extension: 3249814dabd1
   255 def srv_obshash1(repo, proto, nodes):
   255 def srv_obshash1(repo, proto, nodes):
   256     return wireproto.encodelist(_obshash(repo, wireproto.decodelist(nodes), version=1))
   256     return wireproto.encodelist(_obshash(repo, wireproto.decodelist(nodes), version=1))
   257 
   257 
   258 # from evolve extension: 2299204c3c27
   258 # from evolve extension: 3249814dabd1
   259 def capabilities(orig, repo, proto):
   259 def capabilities(orig, repo, proto):
   260     """wrapper to advertise new capability"""
   260     """wrapper to advertise new capability"""
   261     caps = orig(repo, proto)
   261     caps = orig(repo, proto)
   262     advertise = repo.ui.configbool('__temporary__', 'advertiseobsolete', True)
   262     advertise = repo.ui.configbool('__temporary__', 'advertiseobsolete', True)
   263     if obsolete._enabled and advertise:
   263     if obsolete._enabled and advertise: