Isn't that the exact opposite of what that conflict manager is suposed to be handling?
Sent from my iPhone On Jun 25, 2009, at 11:13 AM, "Jarosław Wypychowski" <[email protected] l> wrote: > Hello, > > I tried to prepare a conflict manager/latest strategy/whatever to > support a use case in which I want to have latest.integration > overriding > any other revision number. > During that struggle I tried to understand what exactly does > LatestCompatibleConflictManager do. In the IVY-2.0.0 (but no changes > in > that code in 2.1.0-RC1 nor svn) in LatestCompatibleConflictManagerTest > are 2 tests for circular dependencies: > > public void testCompatibilityResolveCircularDependency2() throws > Exception { > fixture > .addMD("#A;1->#C;2") > .addMD("#C;1->#B;1") > .addMD("#C;2->#B;2") > .addMD("#C;3->#B;3") > .addMD("#B;1->#C;latest.integration") // circular > dependency > .addMD("#B;2->#C;latest.integration") // circular > dependency > .addMD("#B;3->#C;latest.integration") // circular > dependency > .init(); > resolveAndAssert("#A;1", "#B;2, #C;2"); > } > > public void testCompatibilityResolveCircularDependency3() throws > Exception { > // same as 2, but A depends on B > fixture > .addMD("#A;1->#B;2") > .addMD("#C;1->#B;1") > .addMD("#C;2->#B;2") > .addMD("#C;3->#B;3") > .addMD("#B;1->#C;latest.integration") // circular > dependency > .addMD("#B;2->#C;latest.integration") // circular > dependency > .addMD("#B;3->#C;latest.integration") // circular > dependency > .init(); > resolveAndAssert("#A;1", "#B;2, #C;2"); > } > > The first one is intuitive and #C;2 is what I expect to see. But the > second one is magic. > We have the following graph: > > #A;1->#B;2->C#latest.integration > > C#latest.integration doesn't seam to have any dependencies so the rest > is a garbage IMHO (unless I'm missing something). Could someone please > enlighten me why the expected result is #C;2 in this test ? > And secondly - how to achieve the main goal - resolving to > latest.integration always when it is listed anywhere in the > dependencies ? > > Best Regards, > > --jw > > -- > Jaroslaw Wypychowski, ICM UW, email: [email protected] > > KPK Kan. 97 § 2. Małoletni, przed ukończeniem siódmego roku życi > a, > nazywa się dzieckiem i uważany jest za nie posiadającego używania > rozumu. Po skończonym siódmym roku życia domniemywa się, że posia > da > używanie rozumu.
