Update only if version requirement has changed
Previously, if any change was made to a line, it would update the line. This includes whitespace changes around comments on the line. See https://review.openstack.org/#/c/144782/ for an example of a unhelpful update. Change-Id: I0d43c604c10e18c72810d42046d447fbf1deed10
This commit is contained in:
parent
aded3fa0c1
commit
2b588aeb69
@ -96,6 +96,12 @@ def _pass_through(pip):
|
||||
pip.startswith('-f'))
|
||||
|
||||
|
||||
def _functionally_equal(old_requirement, new_requirement):
|
||||
old_require = req.InstallRequirement.from_line(old_requirement)
|
||||
new_require = req.InstallRequirement.from_line(new_requirement)
|
||||
return old_require.req == new_require.req
|
||||
|
||||
|
||||
def _read(filename):
|
||||
with open(filename, 'r') as f:
|
||||
return f.read()
|
||||
@ -156,6 +162,8 @@ def _sync_requirements_file(source_reqs, dev_reqs, dest_path,
|
||||
if ((old_pip in dev_reqs) and (old_require.lower() ==
|
||||
dev_reqs[old_pip])):
|
||||
new_reqs.write("%s\n" % dev_reqs[old_pip])
|
||||
elif _functionally_equal(old_require, source_reqs[old_pip]):
|
||||
new_reqs.write(old_line)
|
||||
else:
|
||||
new_reqs.write("%s\n" % source_reqs[old_pip])
|
||||
elif softupdate:
|
||||
|
Loading…
x
Reference in New Issue
Block a user