On 2013-08-02 13:02:19, ETHER wrote:
Show quoted text> Gah I just realized another mistake I made regarding this issue...
> will push more commits to the branch.
Right, so I forgot that there is no pull request here, so all the commentary needs to be in this ticket...
What we have here is an unfortunate conflict (ha ha!) between the meaning you (and Dist::CheckConflicts) were using for 'conflict', and what the metaspec decided conflicts meant. They're actually two TOTALLY separate things.
In the metaspec, a conflict entry means "this specified version [range] CANNOT BE INSTALLED while this phase is running". Dist::CheckConflicts's version is "this thing is now broken, but since the dependency is reversed, you're going to have to update it afterwards, rather than us doing that for you now."
So saying that installing this version of Foo now breaks Bar 1.0 and earlier is totally different from "we're going to fall over and die if Bar 1.0 is installed".
The new commits force-pushed to this branch address that, by totally removing my braindead attempts to add metadata -- and I added proper dist.ini entries for the *right* kind of conflicts that are present in each case (specifically: do not release the dist with [Conflicts] version 0.11, so 0.12 doesn't get bad metadata in it, and now that 0.11 is removed from PAUSE, the other "breaks" entries (on Test::CheckDeps <= 0.006, [CheckPrereqsIndexed <= 0.009, [ReportVersions::Tiny] <= 1.08) are now irrelevant, as we're once again not adding conflict metadata.
I'd actually suggest renaming this module (and Dist::CheckConflicts) to *Breaks, to further disambiguate the meanings. I'll pursue that with doy, and poke you again when that happens.
I'm so sorry again. It's fortunate that you didn't have the tuits to release 0.12 last weekend, as it would have still been broken :)