| Index: utils/pub/version_solver.dart
|
| diff --git a/utils/pub/version_solver.dart b/utils/pub/version_solver.dart
|
| index c00cda5f533ff5a1e3766a335eb47abb0c7cf588..3cb3230b9a9f5af3c33726d35a82a0e9385f00dd 100644
|
| --- a/utils/pub/version_solver.dart
|
| +++ b/utils/pub/version_solver.dart
|
| @@ -183,7 +183,8 @@ class VersionSolver {
|
| for (var dependerName in dependency.dependers) {
|
| var depender = getDependency(dependerName);
|
| var locked = lockFile.packages[dependerName];
|
| - if (locked != null && depender.version == locked.version) {
|
| + if (locked != null && depender.version == locked.version &&
|
| + lockedPackage.source.name == dep.source.name) {
|
| enqueue(new UnlockPackage(depender));
|
| return true;
|
| }
|
| @@ -360,7 +361,7 @@ abstract class ChangeConstraint implements WorkItem {
|
| // If the dependency is on a package in the lockfile, use the lockfile's
|
| // version for that package if it's valid given the other constraints.
|
| var lockedPackage = solver.lockFile.packages[name];
|
| - if (lockedPackage != null) {
|
| + if (lockedPackage != null && newDependency.source == lockedPackage.source) {
|
| var lockedVersion = lockedPackage.version;
|
| if (newConstraint.allows(lockedVersion)) {
|
| solver.enqueue(
|
|
|