swh.loader.mercurial 3.5.2__py3-none-any.whl → 3.6.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -13,7 +13,7 @@ from swh.loader.core.loader import BaseDirectoryLoader
13
13
  from swh.loader.mercurial.hgutil import clone
14
14
  from swh.loader.mercurial.utils import raise_not_found_repository
15
15
  from swh.model.from_disk import ignore_empty_directories, ignore_named_directories
16
- from swh.model.model import Snapshot, SnapshotBranch, TargetType
16
+ from swh.model.model import Snapshot, SnapshotBranch, SnapshotTargetType
17
17
 
18
18
 
19
19
  def clone_repository(repo_url: str, hg_changeset: str, target: Path) -> Path:
@@ -72,7 +72,7 @@ class HgCheckoutLoader(BaseDirectoryLoader):
72
72
 
73
73
  def __init__(self, *args, **kwargs):
74
74
  self.hg_changeset = kwargs.pop("ref")
75
- super().__init__(*args, dir_filter=list_hg_tree, **kwargs)
75
+ super().__init__(*args, path_filter=list_hg_tree, **kwargs)
76
76
 
77
77
  def fetch_artifact(self) -> Iterator[Path]:
78
78
  with tempfile.TemporaryDirectory(
@@ -90,11 +90,11 @@ class HgCheckoutLoader(BaseDirectoryLoader):
90
90
  return Snapshot(
91
91
  branches={
92
92
  b"HEAD": SnapshotBranch(
93
- target_type=TargetType.ALIAS,
93
+ target_type=SnapshotTargetType.ALIAS,
94
94
  target=branch_name,
95
95
  ),
96
96
  branch_name: SnapshotBranch(
97
- target_type=TargetType.DIRECTORY,
97
+ target_type=SnapshotTargetType.DIRECTORY,
98
98
  target=self.directory.hash,
99
99
  ),
100
100
  }
@@ -414,8 +414,7 @@ def identify_release(
414
414
  node_id_2_swhid: An optional cache mapping hg node ids to SWHIDs
415
415
  If not provided it will be computed using `identify_revision`.
416
416
  """
417
- from swh.model.model import ObjectType as ModelObjectType
418
- from swh.model.model import Release
417
+ from swh.model.model import Release, ReleaseTargetType
419
418
 
420
419
  if node_id_2_swhid is None:
421
420
  node_id_2_swhid = {
@@ -427,7 +426,7 @@ def identify_release(
427
426
  data = {
428
427
  "name": tag.name,
429
428
  "target": node_id_2_swhid[tag.node_id].object_id,
430
- "target_type": ModelObjectType.REVISION.value,
429
+ "target_type": ReleaseTargetType.REVISION.value,
431
430
  "message": None,
432
431
  "metadata": None,
433
432
  "synthetic": False,
@@ -458,7 +457,7 @@ def identify_snapshot(
458
457
  release: an optional list of `ReleaseIdentity`.
459
458
  If not provided it will be computed using `identify_release`.
460
459
  """
461
- from swh.model.model import Snapshot, TargetType
460
+ from swh.model.model import Snapshot, SnapshotTargetType
462
461
 
463
462
  if node_id_2_swhid is None:
464
463
  node_id_2_swhid = {
@@ -473,21 +472,21 @@ def identify_snapshot(
473
472
  tip = hg.tip()
474
473
  branches[b"HEAD"] = {
475
474
  "target": tip.branch(),
476
- "target_type": TargetType.ALIAS.value,
475
+ "target_type": SnapshotTargetType.ALIAS.value,
477
476
  }
478
477
 
479
478
  for branch in hg.branches():
480
479
  assert node_id_2_swhid[branch.node_id].object_type == ObjectType.REVISION
481
480
  branches[branch.name] = {
482
481
  "target": node_id_2_swhid[branch.node_id].object_id,
483
- "target_type": TargetType.REVISION.value,
482
+ "target_type": SnapshotTargetType.REVISION.value,
484
483
  }
485
484
 
486
485
  for release in releases:
487
486
  assert release.swhid.object_type == ObjectType.RELEASE
488
487
  branches[release.name] = {
489
488
  "target": release.swhid.object_id,
490
- "target_type": TargetType.RELEASE.value,
489
+ "target_type": SnapshotTargetType.RELEASE.value,
491
490
  }
492
491
 
493
492
  return Snapshot.from_dict({"branches": branches}).swhid()
@@ -1,4 +1,4 @@
1
- # Copyright (C) 2020-2023 The Software Heritage developers
1
+ # Copyright (C) 2020-2025 The Software Heritage developers
2
2
  # See the AUTHORS file at the top-level directory of this distribution
3
3
  # License: GNU General Public License version 3, or any later version
4
4
  # See top-level LICENSE file for more information
@@ -42,9 +42,10 @@ from swh.model.model import (
42
42
  Revision,
43
43
  RevisionType,
44
44
  Sha1Git,
45
+ SkippedContent,
45
46
  Snapshot,
46
47
  SnapshotBranch,
47
- TargetType,
48
+ SnapshotTargetType,
48
49
  TimestampWithTimezone,
49
50
  )
50
51
  from swh.model.model import Content as ModelContent
@@ -242,7 +243,11 @@ class HgLoader(BaseLoader):
242
243
  # Set here to allow multiple calls to load on the same loader instance
243
244
  self._latest_heads = []
244
245
 
245
- latest_snapshot = snapshot_get_latest(self.storage, self.origin.url)
246
+ latest_snapshot = snapshot_get_latest(
247
+ self.storage,
248
+ self.origin.url,
249
+ visit_type=self.visit_type,
250
+ )
246
251
  if latest_snapshot:
247
252
  self._set_recorded_state(latest_snapshot)
248
253
 
@@ -258,9 +263,9 @@ class HgLoader(BaseLoader):
258
263
  tags = []
259
264
 
260
265
  for branch in latest_snapshot.branches.values():
261
- if branch.target_type == TargetType.REVISION:
266
+ if branch.target_type == SnapshotTargetType.REVISION:
262
267
  heads.append(branch.target)
263
- elif branch.target_type == TargetType.RELEASE:
268
+ elif branch.target_type == SnapshotTargetType.RELEASE:
264
269
  tags.append(branch.target)
265
270
 
266
271
  self._latest_heads.extend(
@@ -280,9 +285,9 @@ class HgLoader(BaseLoader):
280
285
  extid_version=EXTID_VERSION,
281
286
  ):
282
287
  extids.append(extid)
283
- self._revision_nodeid_to_sha1git[
284
- HgNodeId(extid.extid)
285
- ] = extid.target.object_id
288
+ self._revision_nodeid_to_sha1git[HgNodeId(extid.extid)] = (
289
+ extid.target.object_id
290
+ )
286
291
 
287
292
  if extids:
288
293
  # Filter out dangling extids, we need to load their target again
@@ -305,12 +310,12 @@ class HgLoader(BaseLoader):
305
310
 
306
311
  for group_ids in grouper(hgnode_ids, n=1000):
307
312
  for extid in self.storage.extid_get_from_extid(
308
- EXTID_TYPE, group_ids, version=EXTID_VERSION
313
+ EXTID_TYPE, list(group_ids), version=EXTID_VERSION
309
314
  ):
310
315
  extids.append(extid)
311
- self._revision_nodeid_to_sha1git[
312
- HgNodeId(extid.extid)
313
- ] = extid.target.object_id
316
+ self._revision_nodeid_to_sha1git[HgNodeId(extid.extid)] = (
317
+ extid.target.object_id
318
+ )
314
319
 
315
320
  if extids:
316
321
  # Filter out dangling extids, we need to load their target again
@@ -442,21 +447,21 @@ class HgLoader(BaseLoader):
442
447
  target = self.get_revision_id_from_hg_nodeid(hg_nodeid)
443
448
  snapshot_branches[label] = SnapshotBranch(
444
449
  target=self.store_release(tag_name, target),
445
- target_type=TargetType.RELEASE,
450
+ target_type=SnapshotTargetType.RELEASE,
446
451
  )
447
452
 
448
453
  for branch_name, node_id in branching_info.tips.items():
449
454
  name = b"branch-tip/%s" % branch_name
450
455
  target = self.get_revision_id_from_hg_nodeid(node_id)
451
456
  snapshot_branches[name] = SnapshotBranch(
452
- target=target, target_type=TargetType.REVISION
457
+ target=target, target_type=SnapshotTargetType.REVISION
453
458
  )
454
459
 
455
460
  for bookmark_name, node_id in branching_info.bookmarks.items():
456
461
  name = b"bookmarks/%s" % bookmark_name
457
462
  target = self.get_revision_id_from_hg_nodeid(node_id)
458
463
  snapshot_branches[name] = SnapshotBranch(
459
- target=target, target_type=TargetType.REVISION
464
+ target=target, target_type=SnapshotTargetType.REVISION
460
465
  )
461
466
 
462
467
  for branch_name, branch_heads in branching_info.open_heads.items():
@@ -464,7 +469,7 @@ class HgLoader(BaseLoader):
464
469
  name = b"branch-heads/%s/%d" % (branch_name, index)
465
470
  target = self.get_revision_id_from_hg_nodeid(head)
466
471
  snapshot_branches[name] = SnapshotBranch(
467
- target=target, target_type=TargetType.REVISION
472
+ target=target, target_type=SnapshotTargetType.REVISION
468
473
  )
469
474
 
470
475
  for branch_name, closed_heads in branching_info.closed_heads.items():
@@ -472,7 +477,7 @@ class HgLoader(BaseLoader):
472
477
  name = b"branch-closed-heads/%s/%d" % (branch_name, index)
473
478
  target = self.get_revision_id_from_hg_nodeid(head)
474
479
  snapshot_branches[name] = SnapshotBranch(
475
- target=target, target_type=TargetType.REVISION
480
+ target=target, target_type=SnapshotTargetType.REVISION
476
481
  )
477
482
 
478
483
  # If the repo is broken enough or if it has none of the "normal" default
@@ -481,7 +486,7 @@ class HgLoader(BaseLoader):
481
486
  if default_branch_alias is not None:
482
487
  snapshot_branches[b"HEAD"] = SnapshotBranch(
483
488
  target=default_branch_alias,
484
- target_type=TargetType.ALIAS,
489
+ target_type=SnapshotTargetType.ALIAS,
485
490
  )
486
491
  snapshot = Snapshot(branches=snapshot_branches)
487
492
  self.storage.snapshot_add([snapshot])
@@ -698,11 +703,16 @@ class HgLoader(BaseLoader):
698
703
  # See above use of `CorruptedRevision`
699
704
  raise CorruptedRevision(hg_nodeid)
700
705
 
701
- content = ModelContent.from_data(data)
702
-
703
- self.storage.content_add([content])
704
-
705
- sha1_git = content.sha1_git
706
+ if self.max_content_size is not None and len(data) > self.max_content_size:
707
+ skipped_content = SkippedContent.from_data(
708
+ data, reason="Content too large"
709
+ )
710
+ self.storage.skipped_content_add([skipped_content])
711
+ sha1_git = skipped_content.sha1_git
712
+ else:
713
+ content = ModelContent.from_data(data)
714
+ self.storage.content_add([content])
715
+ sha1_git = content.sha1_git
706
716
  self._content_hash_cache[cache_key] = sha1_git
707
717
 
708
718
  # Here we make sure to return only necessary data.
@@ -166,7 +166,7 @@ def test_hg_directory_loader_hash_mismatch(swh_storage, datadir, tmp_path):
166
166
  actual_result = loader.load()
167
167
 
168
168
  # Ingestion fails because the hash checksums check failed
169
- assert actual_result == {"status": "failed"}
169
+ assert actual_result["status"] == "failed"
170
170
  assert_last_visit_matches(
171
171
  swh_storage,
172
172
  repo_url,
@@ -1,7 +1,8 @@
1
- # Copyright (C) 2020-2021 The Software Heritage developers
1
+ # Copyright (C) 2020-2025 The Software Heritage developers
2
2
  # See the AUTHORS file at the top-level directory of this distribution
3
3
  # License: GNU General Public License version 3, or any later version
4
4
  # See top-level LICENSE file for more information
5
+
5
6
  from datetime import datetime
6
7
  from hashlib import sha1
7
8
  import os
@@ -21,7 +22,7 @@ from swh.loader.tests import (
21
22
  )
22
23
  from swh.model.from_disk import Content, DentryPerms
23
24
  from swh.model.hashutil import hash_to_bytes, hash_to_hex
24
- from swh.model.model import RevisionType, Snapshot, SnapshotBranch, TargetType
25
+ from swh.model.model import RevisionType, Snapshot, SnapshotBranch, SnapshotTargetType
25
26
  from swh.model.swhids import ObjectType
26
27
  from swh.storage import get_storage
27
28
  from swh.storage.algos.snapshot import snapshot_get_latest
@@ -141,11 +142,13 @@ def test_loader_hg_new_visit_no_release(swh_storage, datadir, tmp_path):
141
142
  mapping.update(tips)
142
143
 
143
144
  expected_branches = {
144
- k: SnapshotBranch(target=hash_to_bytes(v), target_type=TargetType.REVISION)
145
+ k: SnapshotBranch(
146
+ target=hash_to_bytes(v), target_type=SnapshotTargetType.REVISION
147
+ )
145
148
  for k, v in mapping.items()
146
149
  }
147
150
  expected_branches[b"HEAD"] = SnapshotBranch(
148
- target=b"branch-tip/default", target_type=TargetType.ALIAS
151
+ target=b"branch-tip/default", target_type=SnapshotTargetType.ALIAS
149
152
  )
150
153
 
151
154
  expected_snapshot = Snapshot(
@@ -238,15 +241,15 @@ def test_loader_hg_new_visit_with_release(swh_storage, datadir, tmp_path):
238
241
  branches={
239
242
  b"branch-tip/default": SnapshotBranch(
240
243
  target=tip_revision_default,
241
- target_type=TargetType.REVISION,
244
+ target_type=SnapshotTargetType.REVISION,
242
245
  ),
243
246
  b"tags/0.1": SnapshotBranch(
244
247
  target=tip_release,
245
- target_type=TargetType.RELEASE,
248
+ target_type=SnapshotTargetType.RELEASE,
246
249
  ),
247
250
  b"HEAD": SnapshotBranch(
248
251
  target=b"branch-tip/default",
249
- target_type=TargetType.ALIAS,
252
+ target_type=SnapshotTargetType.ALIAS,
250
253
  ),
251
254
  },
252
255
  )
@@ -620,7 +623,7 @@ def test_load_repo_check_extids_write_version(swh_storage, datadir, tmp_path):
620
623
  revision_ids = [
621
624
  branch.target
622
625
  for branch in snapshot.branches.values()
623
- if branch.target_type == TargetType.REVISION
626
+ if branch.target_type == SnapshotTargetType.REVISION
624
627
  ]
625
628
 
626
629
  assert len(revision_ids) > 0
@@ -762,3 +765,25 @@ def test_loader_not_found_hg_repository(swh_storage, datadir, tmp_path):
762
765
  status="not_found",
763
766
  type="hg",
764
767
  )
768
+
769
+
770
+ def test_loader_max_content_size(swh_storage, datadir, tmp_path):
771
+ """Contents whose size is greater than 1 byte should be skipped."""
772
+ archive_name = "example"
773
+ archive_path = os.path.join(datadir, f"{archive_name}.tgz")
774
+ repo_url = prepare_repository_from_archive(archive_path, archive_name, tmp_path)
775
+ repo_path = repo_url.replace("file://", "")
776
+
777
+ loader = HgLoader(swh_storage, repo_path, max_content_size=1)
778
+
779
+ assert loader.load() == {"status": "eventful"}
780
+ assert get_stats(loader.storage) == {
781
+ "content": 0,
782
+ "directory": 16,
783
+ "origin": 1,
784
+ "origin_visit": 1,
785
+ "release": 0,
786
+ "revision": 9,
787
+ "skipped_content": 7,
788
+ "snapshot": 1,
789
+ }
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.4
2
2
  Name: swh.loader.mercurial
3
- Version: 3.5.2
3
+ Version: 3.6.1
4
4
  Summary: Software Heritage Mercurial Loader
5
5
  Author-email: Software Heritage developers <swh-devel@inria.fr>
6
6
  Project-URL: Homepage, https://gitlab.softwareheritage.org/swh/devel/swh-loader-mercurial
@@ -13,7 +13,7 @@ Classifier: Intended Audience :: Developers
13
13
  Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
14
14
  Classifier: Operating System :: OS Independent
15
15
  Classifier: Development Status :: 4 - Beta
16
- Requires-Python: >=3.7
16
+ Requires-Python: >=3.9
17
17
  Description-Content-Type: text/x-rst
18
18
  License-File: LICENSE
19
19
  License-File: AUTHORS
@@ -22,28 +22,31 @@ Requires-Dist: patool
22
22
  Requires-Dist: python-dateutil
23
23
  Requires-Dist: python-hglib
24
24
  Requires-Dist: mercurial
25
- Requires-Dist: swh.model >=2.6.1
26
- Requires-Dist: swh.storage >=0.37.0
27
- Requires-Dist: swh.scheduler >=0.0.39
28
- Requires-Dist: swh.loader.core >=5.14.2
25
+ Requires-Dist: swh.model>=6.13.0
26
+ Requires-Dist: swh.storage>=2.4.1
27
+ Requires-Dist: swh.scheduler>=0.0.39
28
+ Requires-Dist: swh.loader.core>=5.18.1
29
29
  Provides-Extra: testing
30
- Requires-Dist: click ; extra == 'testing'
31
- Requires-Dist: patool ; extra == 'testing'
32
- Requires-Dist: python-dateutil ; extra == 'testing'
33
- Requires-Dist: python-hglib ; extra == 'testing'
34
- Requires-Dist: mercurial ; extra == 'testing'
35
- Requires-Dist: swh.model >=2.6.1 ; extra == 'testing'
36
- Requires-Dist: swh.storage >=0.37.0 ; extra == 'testing'
37
- Requires-Dist: swh.scheduler >=0.0.39 ; extra == 'testing'
38
- Requires-Dist: swh.loader.core >=5.14.2 ; extra == 'testing'
39
- Requires-Dist: pytest ; extra == 'testing'
40
- Requires-Dist: pytest-mock ; extra == 'testing'
41
- Requires-Dist: swh.core[http] >=0.0.61 ; extra == 'testing'
42
- Requires-Dist: swh.scheduler[testing] >=0.5.0 ; extra == 'testing'
43
- Requires-Dist: swh.storage[testing] ; extra == 'testing'
44
- Requires-Dist: types-click ; extra == 'testing'
45
- Requires-Dist: types-deprecated ; extra == 'testing'
46
- Requires-Dist: types-python-dateutil ; extra == 'testing'
30
+ Requires-Dist: click; extra == "testing"
31
+ Requires-Dist: patool; extra == "testing"
32
+ Requires-Dist: python-dateutil; extra == "testing"
33
+ Requires-Dist: python-hglib; extra == "testing"
34
+ Requires-Dist: mercurial; extra == "testing"
35
+ Requires-Dist: swh.model>=6.13.0; extra == "testing"
36
+ Requires-Dist: swh.storage>=2.4.1; extra == "testing"
37
+ Requires-Dist: swh.scheduler>=0.0.39; extra == "testing"
38
+ Requires-Dist: swh.loader.core>=5.18.1; extra == "testing"
39
+ Requires-Dist: celery-types; extra == "testing"
40
+ Requires-Dist: pytest; extra == "testing"
41
+ Requires-Dist: pytest-mock; extra == "testing"
42
+ Requires-Dist: swh.core[http]>=0.0.61; extra == "testing"
43
+ Requires-Dist: swh.loader.core[testing]>=5.18.1; extra == "testing"
44
+ Requires-Dist: swh.scheduler[pytest]>=3.1.0; extra == "testing"
45
+ Requires-Dist: swh.storage[pytest]>=3.1.0; extra == "testing"
46
+ Requires-Dist: types-click; extra == "testing"
47
+ Requires-Dist: types-deprecated; extra == "testing"
48
+ Requires-Dist: types-python-dateutil; extra == "testing"
49
+ Dynamic: license-file
47
50
 
48
51
  swh-loader-mercurial
49
52
  ====================
@@ -1,10 +1,10 @@
1
1
  swh/loader/mercurial/__init__.py,sha256=ioPrVqbM_-w8sEwWUKEw9jCTbzQTkWwMaJM77D7YItM,745
2
2
  swh/loader/mercurial/archive_extract.py,sha256=gMSxvwIxZu5-Ei9a7ZeNCjZV-wBMIBTGonUutZ16yhE,1981
3
3
  swh/loader/mercurial/converters.py,sha256=qrL63I-6ezmICJa7cTB_jlS0kiPfHGL3xH8NXJTF1nU,1040
4
- swh/loader/mercurial/directory.py,sha256=uReb_gSxRNKn79NCYpv5c8qvrzUM9iNEN6vmT1qT2us,3331
4
+ swh/loader/mercurial/directory.py,sha256=PMltrtpRFsBayOn0aw1Aj3Py-eBxyRl-rbR6250vIlw,3356
5
5
  swh/loader/mercurial/hgutil.py,sha256=tg-QX2jRod9kUZ-nGPv30Km11Z1hTf4zINYL1T7eakk,5142
6
- swh/loader/mercurial/identify.py,sha256=s6soJVvPpSwePYNRj3_Eo9WmVJvgM1XT2-xfep7pyjE,16613
7
- swh/loader/mercurial/loader.py,sha256=fi3gaWFVTkbc9nslgPv7JNoUYM-xEClIHL__m45bCyg,29492
6
+ swh/loader/mercurial/identify.py,sha256=9QQqI6MywQiZ62bm0JD_TNMjMlYdqJPzmHGFsl3cWGM,16604
7
+ swh/loader/mercurial/loader.py,sha256=t2DFn75NfHLFWdEGhcQFe1f7c6as1CRxOYAqUu_1zRA,30036
8
8
  swh/loader/mercurial/py.typed,sha256=bWew9mHgMy8LqMu7RuqQXFXLBxh2CRx0dUbSx-3wE48,27
9
9
  swh/loader/mercurial/tasks.py,sha256=cN41ntODtUUR9kk9Q7n9onfNMPaewmKDuB5RfsnSu6Y,1468
10
10
  swh/loader/mercurial/utils.py,sha256=jDaWupPQf16KAbsTfyuJZGiE5D72iLwgi7gY0XN4ZMY,1462
@@ -12,9 +12,9 @@ swh/loader/mercurial/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJ
12
12
  swh/loader/mercurial/tests/conftest.py,sha256=xMFVE0tp9bbspeywcIpS5gDjeZF_SMWcIgvyrsybuXQ,1671
13
13
  swh/loader/mercurial/tests/loader_checker.py,sha256=lcOoO4viwqfUgKKm9sUBhw5_uyS93pyT-BMWDnPxgzU,2353
14
14
  swh/loader/mercurial/tests/test_converters.py,sha256=5r02CYtZ85xdK00wcfDjmWJo1Qr4BHOYHtjxWaHOVhY,2155
15
- swh/loader/mercurial/tests/test_directory.py,sha256=3BPLz6PoYH-_xf8qyMibNdXyTti3D2sDMoUTMYupsY0,6865
15
+ swh/loader/mercurial/tests/test_directory.py,sha256=q_NUfHPlaexcUQEu4uCpGCEW_sRAHS6lxLJUK5IMbQo,6863
16
16
  swh/loader/mercurial/tests/test_identify.py,sha256=Dp21Ic8b8HMt3hcdqHzPuTpInTk4WLD-yjf7u79PJZM,3016
17
- swh/loader/mercurial/tests/test_loader.py,sha256=hoqe_mw-toRTl0Y6hU9f15TnZ8XEpCDPifeg_PT_hl4,26197
17
+ swh/loader/mercurial/tests/test_loader.py,sha256=D4DdHTO_-zA6rK06b829mF1tl8Io3RJ9-H7WX2HTHCA,27002
18
18
  swh/loader/mercurial/tests/test_tasks.py,sha256=7vB4HSlmN7QKyA4p7ZnKRCmb4PgsY0qnW96KUJVjuzs,1970
19
19
  swh/loader/mercurial/tests/test_tasks_directory.py,sha256=iBi1FdKvk4cIuy9_AXD6hS9pEPkZk1Ex2A1LNzIMPkA,1438
20
20
  swh/loader/mercurial/tests/data/anomad-d.tgz,sha256=YRDmphGrPdtkD5Ysra_fK83XNQY5EpoyEp700nOL2yQ,2757941
@@ -33,10 +33,10 @@ swh/loader/mercurial/tests/data/the-sandbox.json,sha256=baIwB2DbiXkwzxoA0Z8vDFlt
33
33
  swh/loader/mercurial/tests/data/the-sandbox.tgz,sha256=MkJ6Nx_CDRkFlox9dcfq-I2ktFa2niAeAT2f7ClvrtY,13309
34
34
  swh/loader/mercurial/tests/data/transplant.json,sha256=h9akY1VS5nv5LOoiZuiJ3tg9ikkeciqdpjpeyGFR_p0,633
35
35
  swh/loader/mercurial/tests/data/transplant.tgz,sha256=eoS3hnKcIOkNrx3pj8lj3lMP7_V8EEjg4rmNI0qO1Vs,3206
36
- swh.loader.mercurial-3.5.2.dist-info/AUTHORS,sha256=CfkR1t8Z3y1NSRjmzMBmWzN55CEqCDCIXp1XtqzAjf4,117
37
- swh.loader.mercurial-3.5.2.dist-info/LICENSE,sha256=jOtLnuWt7d5Hsx6XXB2QxzrSe2sWWh3NgMfFRetluQM,35147
38
- swh.loader.mercurial-3.5.2.dist-info/METADATA,sha256=NyMzLFFajZhAc35N0GLxyUHAEwBLjoS9ASJ0FOS_o54,3072
39
- swh.loader.mercurial-3.5.2.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
40
- swh.loader.mercurial-3.5.2.dist-info/entry_points.txt,sha256=KR1-Noi4WbxrdetuNh-QSOSVVp12_NT04aa5nK3YO5o,202
41
- swh.loader.mercurial-3.5.2.dist-info/top_level.txt,sha256=8XlamXOHbQHPR7Tn7kZa8F4ufiLuK-BL_bZje5MY9hw,4
42
- swh.loader.mercurial-3.5.2.dist-info/RECORD,,
36
+ swh_loader_mercurial-3.6.1.dist-info/licenses/AUTHORS,sha256=CfkR1t8Z3y1NSRjmzMBmWzN55CEqCDCIXp1XtqzAjf4,117
37
+ swh_loader_mercurial-3.6.1.dist-info/licenses/LICENSE,sha256=jOtLnuWt7d5Hsx6XXB2QxzrSe2sWWh3NgMfFRetluQM,35147
38
+ swh_loader_mercurial-3.6.1.dist-info/METADATA,sha256=qOJF9OSv4HZiHwZrUF4Yz4zd-LyVTmg0qqRm3q9NJrE,3188
39
+ swh_loader_mercurial-3.6.1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
40
+ swh_loader_mercurial-3.6.1.dist-info/entry_points.txt,sha256=KR1-Noi4WbxrdetuNh-QSOSVVp12_NT04aa5nK3YO5o,202
41
+ swh_loader_mercurial-3.6.1.dist-info/top_level.txt,sha256=8XlamXOHbQHPR7Tn7kZa8F4ufiLuK-BL_bZje5MY9hw,4
42
+ swh_loader_mercurial-3.6.1.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: bdist_wheel (0.42.0)
2
+ Generator: setuptools (80.9.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5