The current ivy implementation can use version ranges in its dependency. When using a range ivy search for the latest revision available in the repository that will match the range. (Correct me if I'm wrong!).
Shouldn't ivy take into account the other dependencies as well? For example, if we have A depending on C version [1.0,3.0[, and A depending B which depends on V version 1.5. The current implementation will return the latest available revision contained in [1.0,3.0[. Shouldn't ivy return the revision 1.5, even if there are 2.1 in the repository? (If it is already possible to do that, tell me how). Also, I'm wondering if it wouldn't make sense to take the first available version. Indeed if I say that my modules requires 1.+, I think it's better to compile with a 1.0 version. Indeed, the probability is bigger that a version compiled/tested with 1.0 works also with a 1.1 than the opposite (a version compiled/tested with 1.1 working with a 1.0). Also when we publish, if we want to fix the published dependencies, I'm wondering if it wouldn't not be better to publish 1.0, instead of 1.x (where x is the highest number available when we make the build). WDYT? Gilles
