[ 
https://issues.apache.org/jira/browse/IVY-1300?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Ed Burcher updated IVY-1300:
----------------------------

    Attachment:     (was: patchfix.txt)

> 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.
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to