Show More
@@ -328,8 +328,7 b' class GitRemote(RemoteBase):' | |||||
328 | args = [wire, rev] |
|
328 | args = [wire, rev] | |
329 | result[attr] = method(*args) |
|
329 | result[attr] = method(*args) | |
330 | except KeyError as e: |
|
330 | except KeyError as e: | |
331 | raise exceptions.VcsException(e)( |
|
331 | raise exceptions.VcsException(e)(f"Unknown bulk attribute: {attr}") | |
332 | "Unknown bulk attribute: %s" % attr) |
|
|||
333 | return result |
|
332 | return result | |
334 |
|
333 | |||
335 | return _bulk_request(repo_id, rev, sorted(pre_load)) |
|
334 | return _bulk_request(repo_id, rev, sorted(pre_load)) | |
@@ -359,7 +358,7 b' class GitRemote(RemoteBase):' | |||||
359 |
|
358 | |||
360 | @reraise_safe_exceptions |
|
359 | @reraise_safe_exceptions | |
361 | def check_url(self, url, config): |
|
360 | def check_url(self, url, config): | |
362 | url_obj = url_parser(url) |
|
361 | url_obj = url_parser(safe_bytes(url)) | |
363 | test_uri, _ = url_obj.authinfo() |
|
362 | test_uri, _ = url_obj.authinfo() | |
364 | url_obj.passwd = '*****' if url_obj.passwd else url_obj.passwd |
|
363 | url_obj.passwd = '*****' if url_obj.passwd else url_obj.passwd | |
365 | url_obj.query = obfuscate_qs(url_obj.query) |
|
364 | url_obj.query = obfuscate_qs(url_obj.query) | |
@@ -470,9 +469,11 b' class GitRemote(RemoteBase):' | |||||
470 | object_store = repo.object_store |
|
469 | object_store = repo.object_store | |
471 |
|
470 | |||
472 | # Create tree and populates it with blobs |
|
471 | # Create tree and populates it with blobs | |
|
472 | if commit_tree: | |||
|
473 | commit_tree = safe_bytes(commit_tree) | |||
473 |
|
474 | |||
474 | if commit_tree and repo[commit_tree]: |
|
475 | if commit_tree and repo[commit_tree]: | |
475 | git_commit = repo[commit_data['parents'][0]] |
|
476 | git_commit = repo[safe_bytes(commit_data['parents'][0])] | |
476 | commit_tree = repo[git_commit.tree] # root tree |
|
477 | commit_tree = repo[git_commit.tree] # root tree | |
477 | else: |
|
478 | else: | |
478 | commit_tree = objects.Tree() |
|
479 | commit_tree = objects.Tree() | |
@@ -575,12 +576,16 b' class GitRemote(RemoteBase):' | |||||
575 | 'author', |
|
576 | 'author', | |
576 | 'committer', |
|
577 | 'committer', | |
577 | 'message', |
|
578 | 'message', | |
578 | 'encoding' |
|
579 | 'encoding', | |
|
580 | 'parents' | |||
579 | ] |
|
581 | ] | |
580 |
|
582 | |||
581 | for k, v in commit_data.items(): |
|
583 | for k, v in commit_data.items(): | |
582 | if k in bytes_keys: |
|
584 | if k in bytes_keys: | |
583 | v = safe_bytes(v) |
|
585 | if k == 'parents': | |
|
586 | v = [safe_bytes(x) for x in v] | |||
|
587 | else: | |||
|
588 | v = safe_bytes(v) | |||
584 | setattr(commit, k, v) |
|
589 | setattr(commit, k, v) | |
585 |
|
590 | |||
586 | object_store.add_object(commit) |
|
591 | object_store.add_object(commit) |
@@ -18,9 +18,10 b'' | |||||
18 | import io |
|
18 | import io | |
19 | import logging |
|
19 | import logging | |
20 | import stat |
|
20 | import stat | |
21 |
import urllib.request |
|
21 | import urllib.request | |
22 | import urllib.request, urllib.error, urllib.parse |
|
22 | import urllib.parse | |
23 | import traceback |
|
23 | import traceback | |
|
24 | import hashlib | |||
24 |
|
25 | |||
25 | from hgext import largefiles, rebase, purge |
|
26 | from hgext import largefiles, rebase, purge | |
26 |
|
27 |
@@ -23,7 +23,7 b' class RemoteBase(object):' | |||||
23 |
|
23 | |||
24 | def _region(self, wire): |
|
24 | def _region(self, wire): | |
25 | cache_repo_id = wire.get('cache_repo_id', '') |
|
25 | cache_repo_id = wire.get('cache_repo_id', '') | |
26 |
cache_namespace_uid = 'cache_repo.{}' |
|
26 | cache_namespace_uid = f'cache_repo.{cache_repo_id}' | |
27 | return rc_cache.get_or_create_region('repo_object', cache_namespace_uid) |
|
27 | return rc_cache.get_or_create_region('repo_object', cache_namespace_uid) | |
28 |
|
28 | |||
29 | def _cache_on(self, wire): |
|
29 | def _cache_on(self, wire): | |
@@ -38,7 +38,7 b' class RemoteBase(object):' | |||||
38 | from vcsserver.lib import rc_cache |
|
38 | from vcsserver.lib import rc_cache | |
39 | repo_id = wire.get('repo_id', '') |
|
39 | repo_id = wire.get('repo_id', '') | |
40 | cache_repo_id = wire.get('cache_repo_id', '') |
|
40 | cache_repo_id = wire.get('cache_repo_id', '') | |
41 |
cache_namespace_uid = 'cache_repo.{}' |
|
41 | cache_namespace_uid = f'cache_repo.{cache_repo_id}' | |
42 |
|
42 | |||
43 | if delete: |
|
43 | if delete: | |
44 | rc_cache.clear_cache_namespace( |
|
44 | rc_cache.clear_cache_namespace( |
General Comments 0
You need to be logged in to leave comments.
Login now