On 2/23/07, Gilles Faucherand <[EMAIL PROTECTED]> wrote:

Xavier Hanin wrote:
> On 2/23/07, Gilles Faucherand <[EMAIL PROTECTED]> wrote:
>>
>> Hi,
>>
>> I have some problems with eviction strategy. I set a
>> defaultConflictManager="latest-time"
>> in my ivyconf meaning for me if a conflict appears to retrieve all the
>> time the last in time published.
>>
>> Say for instance that I have 3 modules A, B and C.
>> 1) I publish C-1.0.0 and later C-1.0.1.
>> 2) B needs  C-1.0.0, I retrieve (ok) and I publish B-1.0.0
>> 3) A needs B-1.0.0 and C-1.0.1  (order is important: B before C in ivy
>> file  ...)
>>
>> When I retrieve I get C-1.0.0 ???
>>   [resolve]     :: evicted modules:
>>   [resolve]     [ MyCompany | C | 1.0.1 ] by [[ MyCompany | C | 1.0.0]]
>> in [all]
>>   [resolve]       in [ MyCompany | A | 1.0.0 ] with latest-time
>>
>> If I change the order in the ivy file i.e. C before B, I get what I
want
>> C-1.0.1 ...
>>   [resolve]     :: evicted modules:
>>   [resolve]     [ MyCompany | C | 1.0.0 ] by [[ MyCompany | C | 1.0.1]]
>> in [all]
>>   [resolve]       in [ MyCompany | B | 1.0.0 ] with latest-time
>>
>> Is it normal ?
>
>
> No, this is not normal. The only reason why this should happen is if
> the two
> revision are considered equal according to the latest revision strategy
> used, in your case latest-time. So this should only happen if the two
> have
> the same time of publication. Note that Ivy uses the publication time
> in the
> Ivy file during conflict resolution, so make sure you have set the
> publication attribute in your ivy files in your repository.
You mean in the ivy file of the module C  <info organisation="MyCompany"
module="C" ... publication="xxxxx"  >
No, or I should change this date each time I publish and I've got a
nightly builder ...

After publication in the repository the ivy file created was
myrepos/MyCompany/C/ivy-1.0.0.xml (following my ivy artifact pattern)

<?xml version="1.0" encoding="UTF-8"?>
<ivy-module version="1.0">
  <info organisation="MyCompany" module="C" revision="1.0.0"
status="integration" publication="20070223132315"/>
...
</ivy-module>

A publication date is set ... I thought this date was used ?


Yes, this the one which should be used: the ivy file for C 1.0.0 and the one
for C 1.0.1 in your repository. Compare the two publication dates and make
sure they are different. But I realize that during conflict resolution, the
ivy files are not downloaded, so it seems to be a bug in Ivy to try to rely
on this publication date in the ivy file. It should better rely on the last
modified timestamp of the file. Could you please add an issue in JIRA?

- Xavier


If you still
> have the problem, you can open a JIRA issue describing your problem
> and your
> environment.
>
> Xavier
>
>
>
> Thanks in advance,
>> Gilles
>>
>>
>


Reply via email to