[ 
https://issues.apache.org/jira/browse/IVY-1300?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13260485#comment-13260485
 ] 

Nicolas Lalevée commented on IVY-1300:
--------------------------------------

Path applied cleanly. Suggested test does break with the current trunk, and get 
fixed with the suggested patch.

But some other tests now fails:
* IvyDeliverTest#testWithDynEvicted: expected:<org1#mod1.2;1.1> but 
was:<org1#mod1.2;2.2>
* IvyDeliverTest#testWithDynEvicted2: expected:<org1#mod1.2;1.1> but 
was:<org1#mod1.2;2.2>

This needs to be investigated before applying the patch.
                
> Delivered ivy descriptor inconsistent with resolve report / retrieve and 
> other post-resolve actions
> ---------------------------------------------------------------------------------------------------
>
>                 Key: IVY-1300
>                 URL: https://issues.apache.org/jira/browse/IVY-1300
>             Project: Ivy
>          Issue Type: Bug
>    Affects Versions: 2.2.0
>            Reporter: Ed Burcher
>            Priority: Critical
>         Attachments: patch.txt, patchfix.txt
>
>
> When there is a conflict with the following characteristics, there is 
> inconsistency of behaviour between most post-resolve actions, and the deliver 
> action. Whereas retrieve / report etc are correct w.r.t the selected 
> revision, Deliver produces an ivy descriptor that contains the evicted 
> revision. 
> The characteristics are:
> * Branches are in use
> * No special conflict manager or latest strategies are configured
> * There is a direct dependency on the module, and a transitive dependency on 
> it
> * The transitive dependency has a higher version number than the direct 
> dependency, BUT is on a different branch
> * This is a conflict; the (default) conflict manager selects the 
> indirect/transitive one because its revision is 'latest' as you would expect
> * The ivy report and retrieve results reflect this selection
> * The delivered ivy descriptor contains the evicted version of the dependency
> Notes
> * Force is not in use
> * It is appreciably the case that it is most often an error (logically 
> speaking) to have a conflict amongst different versions on different 
> branches. Nevertheless, one expects ivy to behave consistently.
> In my view, here are the factors causing this:
> * the properties file written during the resolve process does not contain the 
> selected branch information, only the requested branch (and only for the most 
> direct dependency spec, if there are several)
> * in deliver, the iterator of the dependencies does not process those 
> dependency IvyNodes that are not referenced directly by the root IvyNode. So 
> where an indirect IvyNode was selected, it is ignored. This is a logic error.
> The properties file written during the resolve seems to be a frequent source 
> of bugs. I wonder why the xml report is not used? IVY-1159 was also down to 
> insufficient information in the properties file.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira


Reply via email to