Commit c9eadbd0 by Ashwin Nair Committed by Randy Döring

Add subdirectory refs to installed_repository

parent 4afa07df
......@@ -124,6 +124,7 @@ class InstalledRepository(Repository):
source_url = None
source_reference = None
source_resolved_reference = None
source_subdirectory = None
if is_standard_package:
if path.name.endswith(".dist-info"):
paths = cls.get_package_paths(
......@@ -169,6 +170,7 @@ class InstalledRepository(Repository):
source_url=source_url,
source_reference=source_reference,
source_resolved_reference=source_resolved_reference,
source_subdirectory=source_subdirectory,
)
package.description = distribution.metadata.get( # type: ignore[attr-defined]
......@@ -185,6 +187,7 @@ class InstalledRepository(Repository):
source_url = None
source_reference = None
source_resolved_reference = None
source_subdirectory = None
develop = False
url_reference = json.loads(
......@@ -213,6 +216,7 @@ class InstalledRepository(Repository):
source_reference = url_reference["vcs_info"].get(
"requested_revision", source_resolved_reference
)
source_subdirectory = url_reference.get("subdirectory")
package = Package(
distribution.metadata["name"],
......@@ -221,6 +225,7 @@ class InstalledRepository(Repository):
source_url=source_url,
source_reference=source_reference,
source_resolved_reference=source_resolved_reference,
source_subdirectory=source_subdirectory,
develop=develop,
)
......
Metadata-Version: 2.1
Name: git-pep-610-subdirectory
Version: 1.2.3
Summary: Foo
License: MIT
Requires-Python: >=3.6
{
"url": "https://github.com/demo/git-pep-610-subdirectory.git",
"vcs_info": {
"vcs": "git",
"requested_revision": "my-branch",
"commit_id": "123456"
},
"subdirectory": "subdir"
}
......@@ -39,6 +39,9 @@ INSTALLED_RESULTS = [
metadata.PathDistribution(
SITE_PURELIB / "git_pep_610_no_requested_version-1.2.3.dist-info"
),
metadata.PathDistribution(
SITE_PURELIB / "git_pep_610_subdirectory-1.2.3.dist-info"
),
metadata.PathDistribution(SITE_PURELIB / "url_pep_610-1.2.3.dist-info"),
metadata.PathDistribution(SITE_PURELIB / "file_pep_610-1.2.3.dist-info"),
metadata.PathDistribution(SITE_PURELIB / "directory_pep_610-1.2.3.dist-info"),
......@@ -238,6 +241,20 @@ def test_load_pep_610_compliant_git_packages_no_requested_version(
assert package.source_reference == package.source_resolved_reference
def test_load_pep_610_compliant_git_packages_with_subdirectory(
repository: InstalledRepository,
):
package = get_package_from_repository("git-pep-610-subdirectory", repository)
assert package is not None
assert package.name == "git-pep-610-subdirectory"
assert package.version.text == "1.2.3"
assert package.source_type == "git"
assert package.source_url == "https://github.com/demo/git-pep-610-subdirectory.git"
assert package.source_reference == "my-branch"
assert package.source_resolved_reference == "123456"
assert package.source_subdirectory == "subdir"
def test_load_pep_610_compliant_url_packages(repository: InstalledRepository):
package = get_package_from_repository("url-pep-610", repository)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment