diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index 70fd91fbee..f305b332ea 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -1,5 +1,6 @@ #### 2.52.9 - 16.03.2016 * USABILITY: Improved error message when paket.dependencies can't be found - https://github.com/fsprojects/Paket/pull/1519 +* BUGFIX: Force resolver to look into deeper levels - https://github.com/fsprojects/Paket/issues/1520 #### 2.52.8 - 15.03.2016 * USABILITY: Better error message when paket.lock an paket.dependencies are out of sync. diff --git a/integrationtests/Paket.IntegrationTests/UpdatePackageSpecs.fs b/integrationtests/Paket.IntegrationTests/UpdatePackageSpecs.fs index d8432a8ec6..08a28501e9 100644 --- a/integrationtests/Paket.IntegrationTests/UpdatePackageSpecs.fs +++ b/integrationtests/Paket.IntegrationTests/UpdatePackageSpecs.fs @@ -112,7 +112,6 @@ let ``#1432 update doesn't throw Stackoverflow``() = directPaket "pack templatefile paket.D.template version 1.0.0-prerelease output bin" scenario |> ignore directPaket "update" scenario|> ignore - [] let ``#1500 don't detect framework twice``() = update "i001500-auto-detect" |> ignore @@ -123,4 +122,8 @@ let ``#1500 don't detect framework twice``() = [] let ``#1501 download succeeds``() = - update "i001510-download" |> ignore \ No newline at end of file + update "i001510-download" |> ignore + +[] +let ``#1520 update with pinned dependency succeeds``() = + update "i001520-pinned-error" |> ignore \ No newline at end of file diff --git a/integrationtests/scenarios/i001520-pinned-error/before/paket.dependencies b/integrationtests/scenarios/i001520-pinned-error/before/paket.dependencies new file mode 100644 index 0000000000..c58181cf9b --- /dev/null +++ b/integrationtests/scenarios/i001520-pinned-error/before/paket.dependencies @@ -0,0 +1,2 @@ +source https://nuget.org/api/v2 +nuget Microsoft.ApplicationInsights.WindowsServer = 1.2.3 \ No newline at end of file diff --git a/src/Paket.Core/PackageResolver.fs b/src/Paket.Core/PackageResolver.fs index 013dbecef6..ae3c2265b9 100644 --- a/src/Paket.Core/PackageResolver.fs +++ b/src/Paket.Core/PackageResolver.fs @@ -473,12 +473,14 @@ let Resolve(groupName:GroupName, sources, getVersionsF, getPackageDetailsF, glob let newResolution = Map.add exploredPackage.Name exploredPackage currentResolution - state := step (relax,newFilteredVersions,newResolution,Set.add currentRequirement closedRequirements,newOpen) - match !state with - | Resolution.Conflict (_,_,stillOpen,_,_) - when stillOpen |> Set.exists (fun r -> r = currentRequirement || r.Graph |> List.contains currentRequirement) |> not -> - forceBreak := true - | _ -> () + let newClosed = Set.add currentRequirement closedRequirements + + state := step (relax,newFilteredVersions,newResolution,newClosed,newOpen) +// match !state with +// | Resolution.Conflict(resolved,closed,stillOpen,lastPackageRequirement,getVersionF) +// when stillOpen |> Set.exists (fun r -> r = currentRequirement || r.Graph |> List.contains currentRequirement) |> not -> +// forceBreak := true +// | _ -> () allUnlisted := exploredPackage.Unlisted && !allUnlisted diff --git a/src/Paket/Paket.fsproj b/src/Paket/Paket.fsproj index 57fd9c3195..e8f4024f5f 100644 --- a/src/Paket/Paket.fsproj +++ b/src/Paket/Paket.fsproj @@ -29,8 +29,8 @@ Project paket.exe - install - D:\code\Paket\integrationtests\scenarios\i001427-content-once-remove\temp + update + D:\code\Paket\integrationtests\scenarios\i001520-pinned-error\temp pdbonly