<div dir="ltr">Hey guys,<div><br></div><div>I have a question about dependencies. There is an example:</div><div><br></div><div>On 2014.1, project A is released with its dependency in requirements.txt which contains:</div><div><br></div><div>foo>=1.5.0</div><div>bar>=2.0.0,<2.2.0</div><div><br></div><div>and half a year later, the requirements.txt changes to:</div><div><br></div><div>foo>=1.7.0</div><div>bar>=2.1.0,<2.2.0</div><div><br></div><div>It looks fine, but potential change would be upstream version of package foo and bar become 2.0.0 and 3.0.0 (major version upgrade means there are incompatible changes).</div><div><br></div><div>For bar, there will be no problems, because "<2.2.0" limit the version from major version changes. But with 2.0.0 foo, it will break the installation of 2014.1 A, because current development can't predict every incompatible changes in the future.</div><div><br></div><div>A real example is to enable Rally for OpenStack Juno. Rally doesn't support old release officially but I could checkout its codes to the Juno release date which make both codes match. However even if I use the old requirements.txt to install dependencies, there must be many packages are installed as upstream versions and some of them breaks. An ugly way is to copy pip list from old Juno environment and install those properly. I hope there are better ways to do this work. Anyone has smart ideas?</div><div><div><br></div>-- <br><div class="gmail_signature"><div dir="ltr"><font color="#444444">Gareth</font><div><font color="#444444"><br></font><div><i><font color="#444444">Cloud Computing, OpenStack, Distributed Storage, Fitness, Basketball</font></i></div><div><i><font color="#666666">OpenStack contributor, kun_huang@freenode</font></i></div><div><i><font color="#999999">My promise: if you find any spelling or grammar mistakes in my email from Mar 1 2013, notify me </font></i></div><div><i><font color="#999999">and I'll donate $1 or ¥1 to an open organization you specify.</font></i></div></div></div></div>
</div></div>