Commit f0855d98 by Arun Babu Neelicattu Committed by Steph Samson

Ensure develop flag is respected for git packages (#1321)

Resolves: #1080
parent 0a5b448d
......@@ -138,10 +138,15 @@ class PipInstaller(BaseInstaller):
return req
if package.source_type == "git":
return "git+{}@{}#egg={}".format(
req = "git+{}@{}#egg={}".format(
package.source_url, package.source_reference, package.name
)
if package.develop:
req = ["-e", req]
return req
return "{}=={}".format(package.name, package.version)
def create_temporary_requirement(self, package):
......@@ -226,6 +231,6 @@ class PipInstaller(BaseInstaller):
pkg = Package(package.name, package.version)
pkg.source_type = "directory"
pkg.source_url = str(src_dir)
pkg.develop = True
pkg.develop = package.develop
self.install_directory(pkg)
import pytest
from poetry.installation.pip_installer import PipInstaller
from poetry.io import NullIO
from poetry.packages.package import Package
from poetry.utils.env import NullEnv
def test_requirement():
installer = PipInstaller(NullEnv(), NullIO())
@pytest.fixture
def package_git():
package = Package("demo", "1.0.0")
package.source_type = "git"
package.source_url = "git@github.com:demo/demo.git"
package.source_reference = "master"
return package
@pytest.fixture
def installer():
return PipInstaller(NullEnv(), NullIO())
def test_requirement(installer):
package = Package("ipython", "7.5.0")
package.hashes = [
"md5:dbdc53e3918f28fa335a173432402a00",
......@@ -22,3 +36,19 @@ def test_requirement():
)
assert expected == result
def test_requirement_git_develop_false(installer, package_git):
package_git.develop = False
result = installer.requirement(package_git)
expected = "git+git@github.com:demo/demo.git@master#egg=demo"
assert expected == result
def test_requirement_git_develop_true(installer, package_git):
package_git.develop = True
result = installer.requirement(package_git)
expected = ["-e", "git+git@github.com:demo/demo.git@master#egg=demo"]
assert expected == result
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