On 2011-06-20 14:02, Johannes Pfau wrote:
Jacob Carlborg wrote:
Currently I have the three-part-version as default and then a custom
version (which basically can contain anything). The reason for the
three-part-version scheme is explained in the wiki.

So it's to have defined semantics for version changes, to standardize
thing like api breakage. I think this makes sense, although it forces a
special versioning scheme on users it might be worth it.

It doesn't force a version scheme, you can always use the a custom version but then you won't be able to use the "~>" operator. Which is the whole reason for using this version scheme.

It might really be overkill. But consider this example:
package FOO requires libjson>= 0.0.1 as a dynamic library.
package BAR requires latest libjson from git as a dynamic library.

now FOO could use libjson-git, but how does the package manager know
that? It cannot know whether the git version is more recent than 0.0.1.
It's also not possible to install both libraries at a time, as both are
dynamic libraries with the same name.
We now have a conflict where you can only install FOO or BAR, but not
both.

Ok, I think I understand now. Thanks for the explanation.

--
/Jacob Carlborg

Reply via email to