getPackageIterator API forces us to do a refresh, which loads all packages on the filesystem. However, for loadGitPackage's use case, we actually can simplify the check quite a bit.
Doing so means that we can now avoid doing a scan for projects that use SCM-only dependencies.
Test Plan: On master, running the test (without the fix) triggers:
core.exception.AssertError@source/dub/test/base.d(790): Trying to access poisoned path: /dub/user/packages/poison/1.0.0/poison/dub.json
getPackageIterator
API forces us to do a refresh, which loads all packages on the filesystem. However, forloadGitPackage
's use case, we actually can simplify the check quite a bit.Doing so means that we can now avoid doing a scan for projects that use SCM-only dependencies.
Test Plan: On master, running the test (without the fix) triggers:
While with the fix, the test passes.