Show More
@@ -245,8 +245,8 b' class GitRemote(RemoteBase):' | |||
|
245 | 245 | |
|
246 | 246 | @reraise_safe_exceptions |
|
247 | 247 | def is_large_file(self, wire, commit_id): |
|
248 | cache_on, context_uid, repo_id = self._cache_on(wire) | |
|
248 | 249 | |
|
249 | cache_on, context_uid, repo_id = self._cache_on(wire) | |
|
250 | 250 | @self.region.conditional_cache_on_arguments(condition=cache_on) |
|
251 | 251 | def _is_large_file(_repo_id, _sha): |
|
252 | 252 | repo_init = self._factory.repo_libgit2(wire) |
@@ -260,6 +260,19 b' class GitRemote(RemoteBase):' | |||
|
260 | 260 | return _is_large_file(repo_id, commit_id) |
|
261 | 261 | |
|
262 | 262 | @reraise_safe_exceptions |
|
263 | def is_binary(self, wire, tree_id): | |
|
264 | cache_on, context_uid, repo_id = self._cache_on(wire) | |
|
265 | ||
|
266 | @self.region.conditional_cache_on_arguments(condition=cache_on) | |
|
267 | def _is_binary(_repo_id, _tree_id): | |
|
268 | repo_init = self._factory.repo_libgit2(wire) | |
|
269 | with repo_init as repo: | |
|
270 | blob_obj = repo[tree_id] | |
|
271 | return blob_obj.is_binary | |
|
272 | ||
|
273 | return _is_binary(repo_id, tree_id) | |
|
274 | ||
|
275 | @reraise_safe_exceptions | |
|
263 | 276 | def in_largefiles_store(self, wire, oid): |
|
264 | 277 | conf = self._wire_to_config(wire) |
|
265 | 278 | repo_init = self._factory.repo_libgit2(wire) |
@@ -567,6 +567,19 b' class HgRemote(RemoteBase):' | |||
|
567 | 567 | return _is_large_file(context_uid, repo_id, path) |
|
568 | 568 | |
|
569 | 569 | @reraise_safe_exceptions |
|
570 | def is_binary(self, wire, revision, path): | |
|
571 | cache_on, context_uid, repo_id = self._cache_on(wire) | |
|
572 | ||
|
573 | @self.region.conditional_cache_on_arguments(condition=cache_on) | |
|
574 | def _is_binary(_repo_id, _sha, _path): | |
|
575 | repo = self._factory.repo(wire) | |
|
576 | ctx = self._get_ctx(repo, revision) | |
|
577 | fctx = ctx.filectx(path) | |
|
578 | return fctx.isbinary() | |
|
579 | ||
|
580 | return _is_binary(repo_id, revision, path) | |
|
581 | ||
|
582 | @reraise_safe_exceptions | |
|
570 | 583 | def in_largefiles_store(self, wire, sha): |
|
571 | 584 | repo = self._factory.repo(wire) |
|
572 | 585 | return largefiles.lfutil.instore(repo, sha) |
@@ -472,6 +472,17 b' class SvnRemote(RemoteBase):' | |||
|
472 | 472 | return False |
|
473 | 473 | |
|
474 | 474 | @reraise_safe_exceptions |
|
475 | def is_binary(self, wire, rev, path): | |
|
476 | cache_on, context_uid, repo_id = self._cache_on(wire) | |
|
477 | ||
|
478 | @self.region.conditional_cache_on_arguments(condition=cache_on) | |
|
479 | def _is_binary(_repo_id, _rev, _path): | |
|
480 | raw_bytes = self.get_file_content(wire, path, rev) | |
|
481 | return raw_bytes and '\0' in raw_bytes | |
|
482 | ||
|
483 | return _is_binary(repo_id, rev, path) | |
|
484 | ||
|
485 | @reraise_safe_exceptions | |
|
475 | 486 | def run_svn_command(self, wire, cmd, **opts): |
|
476 | 487 | path = wire.get('path', None) |
|
477 | 488 |
General Comments 0
You need to be logged in to leave comments.
Login now