Skip to content

Cross dependencies resolution example

alloy edited this page Feb 27, 2012 · 7 revisions

Assuming that all libraries are using the semantic versioning scheme, consider the following example:

  • Project uses libraries A and B
  • Library A requires library C with a minimum version requirement of ‘1.2.1’
  • Library B requires library C with a minimum version requirement of ‘1.3’

Because no backwards-incompatible changes should be introduced in ‘minor’ version changes, we can safely use version ‘1.3’ of library C to satisfy both requirements.

This is not possible with arbitrary commit hashes, because we can't tell whether or not the commit introduced incompatible changes only by it's commit hash.