incubator-ivy-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Xavier Hanin (JIRA)" <>
Subject [jira] Resolved: (IVY-407) publication dates in latest-time conflict resolution are not used
Date Fri, 23 Feb 2007 17:52:05 GMT


Xavier Hanin resolved IVY-407.

       Resolution: Fixed
    Fix Version/s: 1.5

I've added two unit tests, for the two orders, with one failing and the other passing.

Then after some investigation in the code the problem happened to be more difficult to solve
than expected. The only way I found is to bypass conflict management until the module descriptors
are loaded in the case of latest-time conflict manager. It was the easier way to get access
to the last modified timestamp of the revisions in conflict, because I have no access to the
Resource when the module revision is not loaded. This means that Ivy will download and parse
ivy files even for the evicted modules in this case. It can be a performance issue, but using
latest-time is recommended only with some very performing repositories like a filesystem based
one, so it shouldn't be too much an issue.

If you can try the latest code base and let me know if the fix is ok in real life, I would
appreciate it.

> publication dates in latest-time conflict resolution are not used
> -----------------------------------------------------------------
>                 Key: IVY-407
>                 URL:
>             Project: Ivy
>          Issue Type: Bug
>    Affects Versions: 1.4.1, 1.5
>         Environment: - Linux Fedora Core 6 
> - java version "1.5.0_10"  
> Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_10-b03) 
> Java HotSpot(TM) Client VM (build 1.5.0_10-b03, mixed mode, sharing)
> - FileSystem repository
>            Reporter: Gilles Faucherand
>         Assigned To: Xavier Hanin
>             Fix For: 1.5
> I have some problems with eviction strategy, conflict resolution do not retrieve
> the last in time artifact published whereas the publication date are correct in the ivy
> file of the repository.
> Reproduce the bug:
> Set a defaultConflictManager="latest-time" in the ivyconf file
> There are 3 modules A, B and C.
> 1) publish C-1.0.0 and later C-1.0.1
> 2) B needs  C-1.0.0 :  retrieve (ok) and publish B-1.0.0
> 3) A needs B-1.0.0 and C-1.0.1 :  (order is important: B before C in A module ivy file...)

> then retrieve,  we get C-1.0.0 whereas it should be C-1.0.1 (latest in time)
> I do not set publication date in the module ivy file (boring to change all the time)
or in 
> the call of the publish task (attribute pubdate), Should I ?
> Anyway the publication dates have been set (by publish task ?) in the ivy files of the
repository and they
> are different ... and not used ?

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

View raw message