In our eclipse product we use svn revision number substitution in qualifier. Building and updating product has been successful without a problem so far. However, recently our svn revision number increased from 90000’s to 100000’s and updating from 90000 revision does not work anymore. Our last release was 1.0.0.Rx98971 and new update is 1.0.0.Rx100051, when I try to update to new release using update manager I get error “Nothing to update.” Now, if build another release of the product, let’s say 1.0.0.Rx100052 and try to update 1.0.0.Rx100051, update works. Update also works if I try to update 0.1.0.Rx74511 release to 1.0.0.Rx100051 (obviously here it compares majors). The only assumption I can make here is that there is error to detect that 1.0.0.Rx100051 is more than 1.0.0.Rx98971, particularly 100051 > 98971 and that’s why update fails. I am I correct in this assumption, or something else might be going on that fails to update the product?
Some tests that I did
To force qualifier to be closer to original release (1.0.0.Rx98971), I changed all versions of plugins and features from 1.0.0.qualifier to 1.0.0.Rx98980. I build the product with update site and updated 1.0.0.Rx98971 with 1.0.0.Rx98980, update worked fine. Next I changed version again from 1.0.0.qualifier to 1.0.0.Rx100679 and build product with update site. Updated 1.0.0.Rx98971 using 1.0.0.Rx100679 update site and same error occurred – “There is nothing to update”. So, does this mean that qualifier comparison does not compare svn revisions correctly?
OSGi qualifiers are strings, and are compared as such. So
1.0.0.100is less than1.0.0.90.See http://wiki.eclipse.org/Version_Numbering#When_to_change_the_qualifier_segment for more information.