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): ...@@ -124,6 +124,7 @@ class InstalledRepository(Repository):
source_url = None source_url = None
source_reference = None source_reference = None
source_resolved_reference = None source_resolved_reference = None
source_subdirectory = None
if is_standard_package: if is_standard_package:
if path.name.endswith(".dist-info"): if path.name.endswith(".dist-info"):
paths = cls.get_package_paths( paths = cls.get_package_paths(
...@@ -169,6 +170,7 @@ class InstalledRepository(Repository): ...@@ -169,6 +170,7 @@ class InstalledRepository(Repository):
source_url=source_url, source_url=source_url,
source_reference=source_reference, source_reference=source_reference,
source_resolved_reference=source_resolved_reference, source_resolved_reference=source_resolved_reference,
source_subdirectory=source_subdirectory,
) )
package.description = distribution.metadata.get( # type: ignore[attr-defined] package.description = distribution.metadata.get( # type: ignore[attr-defined]
...@@ -185,6 +187,7 @@ class InstalledRepository(Repository): ...@@ -185,6 +187,7 @@ class InstalledRepository(Repository):
source_url = None source_url = None
source_reference = None source_reference = None
source_resolved_reference = None source_resolved_reference = None
source_subdirectory = None
develop = False develop = False
url_reference = json.loads( url_reference = json.loads(
...@@ -213,6 +216,7 @@ class InstalledRepository(Repository): ...@@ -213,6 +216,7 @@ class InstalledRepository(Repository):
source_reference = url_reference["vcs_info"].get( source_reference = url_reference["vcs_info"].get(
"requested_revision", source_resolved_reference "requested_revision", source_resolved_reference
) )
source_subdirectory = url_reference.get("subdirectory")
package = Package( package = Package(
distribution.metadata["name"], distribution.metadata["name"],
...@@ -221,6 +225,7 @@ class InstalledRepository(Repository): ...@@ -221,6 +225,7 @@ class InstalledRepository(Repository):
source_url=source_url, source_url=source_url,
source_reference=source_reference, source_reference=source_reference,
source_resolved_reference=source_resolved_reference, source_resolved_reference=source_resolved_reference,
source_subdirectory=source_subdirectory,
develop=develop, 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 = [ ...@@ -39,6 +39,9 @@ INSTALLED_RESULTS = [
metadata.PathDistribution( metadata.PathDistribution(
SITE_PURELIB / "git_pep_610_no_requested_version-1.2.3.dist-info" 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 / "url_pep_610-1.2.3.dist-info"),
metadata.PathDistribution(SITE_PURELIB / "file_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"), 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( ...@@ -238,6 +241,20 @@ def test_load_pep_610_compliant_git_packages_no_requested_version(
assert package.source_reference == package.source_resolved_reference 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): def test_load_pep_610_compliant_url_packages(repository: InstalledRepository):
package = get_package_from_repository("url-pep-610", repository) 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