File tree Expand file tree Collapse file tree 2 files changed +11
-2
lines changed Expand file tree Collapse file tree 2 files changed +11
-2
lines changed Original file line number Diff line number Diff line change 14
14
clean_resolved_dep ,
15
15
determine_vcs_revision_hash ,
16
16
expansive_install_req_from_line ,
17
+ normalize_vcs_url ,
17
18
pep423_name ,
18
19
translate_markers ,
19
20
)
@@ -61,9 +62,16 @@ def format_requirement_for_lockfile(
61
62
if req .link and req .link .is_vcs :
62
63
vcs = req .link .scheme .split ("+" , 1 )[0 ]
63
64
entry ["ref" ] = determine_vcs_revision_hash (req , vcs , pipfile_entry .get ("ref" ))
64
- entry [vcs ] = original_deps .get (name , req .link .url )
65
+
66
+ if name in original_deps :
67
+ entry [vcs ] = original_deps [name ]
68
+ else :
69
+ vcs_url , _ = normalize_vcs_url (req .link .url )
70
+ entry [vcs ] = vcs_url
65
71
if pipfile_entry .get ("subdirectory" ):
66
72
entry ["subdirectory" ] = pipfile_entry ["subdirectory" ]
73
+ elif req .link .subdirectory_fragment :
74
+ entry ["subdirectory" ] = req .link .subdirectory_fragment
67
75
if req .req :
68
76
entry ["version" ] = str (req .specifier )
69
77
elif version :
Original file line number Diff line number Diff line change @@ -532,7 +532,8 @@ def test_lock_nested_vcs_direct_url(pipenv_instance_pypi):
532
532
assert "git" in p .lockfile ["default" ]["pep508-package" ]
533
533
assert "sibling-package" in p .lockfile ["default" ]
534
534
assert "git" in p .lockfile ["default" ]["sibling-package" ]
535
- assert "subdirectory" in p .lockfile ["default" ]["sibling-package" ]["git" ]
535
+ assert "subdirectory" in p .lockfile ["default" ]["sibling-package" ]
536
+ assert p .lockfile ["default" ]["sibling-package" ]["subdirectory" ] == "parent_folder/sibling_package"
536
537
assert "version" not in p .lockfile ["default" ]["sibling-package" ]
537
538
538
539
You can’t perform that action at this time.
0 commit comments