I've just found this same issue has already beed raised before, and the solution to use <caches checkUpToDate="false"/> in ivysettings.xml does help:
http://marc.info/?l=ivy-user&m=125673290515727&w=2 . Still it looks like just a workaround to me. Again, is this supposed to be like that? In what case would I be satisfied with the default checkUpToDate=true value here? Thanks in advance guys for any response. Monday, February 8, 2010, I wrote: PS> Hi All! PS> I have moduleA which depends on moduleB of revision 0.2. I do retrieve PS> for moduleA, using an [artifact].[ext] pattern, and get locally b.jar PS> of revision 0.2. Then I edit moduleA's ivy.xml to make it depend on PS> moduleB's previous revision 0.1, and redo retrieve. As a result, I PS> still find local b.jar of revision 0.2, so it does not by some reason PS> get overwritten with revision 0.1. PS> If I previously delete local b.jar of revision 0.2 manually, I PS> successfully get revision 0.1 after second retrieve. Also, if I use PS> retrieve pattern like [artifact]-[revision].[ext], it also goes well PS> and b-0.2.jar gets replaced with b-0.1.jar. PS> So, is this the expected behavior? I assume this is something to do PS> with artifacts's last-modified date: if I manually make the earlier PS> revision's artifact date later in the repository, then my problem PS> vanishes. Looks much like Ant <copy> logic, but is it PS> appropriate in this case? PS> I am using Ivy 2.1.0 with default ivysettings. Retrieve's sync PS> parameter does not affect the situation. PS> Pavel
