Mercurial > hg
comparison hgext/remotefilelog/remotefilelogserver.py @ 50789:cbd1da102417
wrapfunction: use sysstr instead of bytes as argument in "remotefilelog"
This is as valid and simpler, it will help us to eventually get ride of
`safehasattr`.
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Fri, 03 Feb 2023 04:25:07 +0100 |
parents | 0925eaf09c8b |
children | a834ec41f17c |
comparison
equal
deleted
inserted
replaced
50788:05430a06a2eb | 50789:cbd1da102417 |
---|---|
65 return orig( | 65 return orig( |
66 self, changedfiles, linknodes, commonrevs, source, *args, **kwargs | 66 self, changedfiles, linknodes, commonrevs, source, *args, **kwargs |
67 ) | 67 ) |
68 | 68 |
69 extensions.wrapfunction( | 69 extensions.wrapfunction( |
70 changegroup.cgpacker, b'generatefiles', generatefiles | 70 changegroup.cgpacker, 'generatefiles', generatefiles |
71 ) | 71 ) |
72 | 72 |
73 | 73 |
74 onetime = False | 74 onetime = False |
75 | 75 |
205 for x in orig( | 205 for x in orig( |
206 repo, matcher, phase=phase, obsolescence=obsolescence | 206 repo, matcher, phase=phase, obsolescence=obsolescence |
207 ): | 207 ): |
208 yield x | 208 yield x |
209 | 209 |
210 extensions.wrapfunction(streamclone, b'_walkstreamfiles', _walkstreamfiles) | 210 extensions.wrapfunction(streamclone, '_walkstreamfiles', _walkstreamfiles) |
211 | 211 |
212 # expose remotefilelog capabilities | 212 # expose remotefilelog capabilities |
213 def _capabilities(orig, repo, proto): | 213 def _capabilities(orig, repo, proto): |
214 caps = orig(repo, proto) | 214 caps = orig(repo, proto) |
215 if shallowutil.isenabled(repo) or ui.configbool( | 215 if shallowutil.isenabled(repo) or ui.configbool( |
220 caps.append(constants.NETWORK_CAP_LEGACY_SSH_GETFILES) | 220 caps.append(constants.NETWORK_CAP_LEGACY_SSH_GETFILES) |
221 caps.append(b'x_rfl_getflogheads') | 221 caps.append(b'x_rfl_getflogheads') |
222 caps.append(b'x_rfl_getfile') | 222 caps.append(b'x_rfl_getfile') |
223 return caps | 223 return caps |
224 | 224 |
225 extensions.wrapfunction(wireprotov1server, b'_capabilities', _capabilities) | 225 extensions.wrapfunction(wireprotov1server, '_capabilities', _capabilities) |
226 | 226 |
227 def _adjustlinkrev(orig, self, *args, **kwargs): | 227 def _adjustlinkrev(orig, self, *args, **kwargs): |
228 # When generating file blobs, taking the real path is too slow on large | 228 # When generating file blobs, taking the real path is too slow on large |
229 # repos, so force it to just return the linkrev directly. | 229 # repos, so force it to just return the linkrev directly. |
230 repo = self._repo | 230 repo = self._repo |
231 if util.safehasattr(repo, b'forcelinkrev') and repo.forcelinkrev: | 231 if util.safehasattr(repo, b'forcelinkrev') and repo.forcelinkrev: |
232 return self._filelog.linkrev(self._filelog.rev(self._filenode)) | 232 return self._filelog.linkrev(self._filelog.rev(self._filenode)) |
233 return orig(self, *args, **kwargs) | 233 return orig(self, *args, **kwargs) |
234 | 234 |
235 extensions.wrapfunction( | 235 extensions.wrapfunction( |
236 context.basefilectx, b'_adjustlinkrev', _adjustlinkrev | 236 context.basefilectx, '_adjustlinkrev', _adjustlinkrev |
237 ) | 237 ) |
238 | 238 |
239 def _iscmd(orig, cmd): | 239 def _iscmd(orig, cmd): |
240 if cmd == b'x_rfl_getfiles': | 240 if cmd == b'x_rfl_getfiles': |
241 return False | 241 return False |
242 return orig(cmd) | 242 return orig(cmd) |
243 | 243 |
244 extensions.wrapfunction(wireprotoserver, b'iscmd', _iscmd) | 244 extensions.wrapfunction(wireprotoserver, 'iscmd', _iscmd) |
245 | 245 |
246 | 246 |
247 def _loadfileblob(repo, cachepath, path, node): | 247 def _loadfileblob(repo, cachepath, path, node): |
248 filecachepath = os.path.join(cachepath, path, hex(node)) | 248 filecachepath = os.path.join(cachepath, path, hex(node)) |
249 if not os.path.exists(filecachepath) or os.path.getsize(filecachepath) == 0: | 249 if not os.path.exists(filecachepath) or os.path.getsize(filecachepath) == 0: |