On 03/06/2013 01:02 PM, Igor Fedorenko
wrote:
I would not use different qualifier strings based on state of
working
copy. Qualifiers are compared as strings, I can't recall if longer
string is considered newer or older and I am sure many users will
not
know this either.With dirty working tree there isn't really a good
durable timestamp to compare builds with, so we just need to
educate
users to be aware of local repository pollution with transient
builds.
Seeing a -DIRTY would mean the same as seeing a SNAPSHOT for
standard Maven artifacts. It would mean that you don't know what is
in it. It's enough for debugging. What I'd like to avoid in spending
lot of time trying to understand why a test is failing and discover
after hours that it's because one installed in its Maven repo a
bundle with local modifications whose qualifier made me think it's
actually derived from a commit.
Also, it would be interesting to have the
tycho-p2-plugin able to
compare a bundle with a baseline ignoring the qualifier.
That would allow to just not care about the qualifier, and if
everything
else is the same (classes, MANIFEST...) we replace the new one
with the
previous one.
For this, the use-case is not "Reproducible Versions Qualifier"
but
"Avoid providing always new builds of the same thing".
This approach was considered but rejected. See
https://bugs.eclipse.org/bugs/show_bug.cgi?id=367581#c9
I missed this discussion and it's quite interesting.
I understand the reasons why it was not accepted for platfrom build.
However, I'm happy to see that most agree it would make sense.
Ideally, that would be an option on the p2-comparator plugin (ant
tycho-p2-plugin) to just ignore qualifiers during comparison. I keep
that in mind for future experiments.
|