
Hi Andreas,
On 28.10.2014 01:38, Mateusz Kowalczyk wrote:
4. I make changes to ap-1.0.0.0, Hackage generates ap-1.0.0.0-fix1 package with identical content but new info without any extra effort on my side.
Basically you suggest that there should be a last digit in the version number that is only used for dependency fixes and is handled automatically by cabal and hackage.
the important part of Mateusz suggestion is that the version number ought to *change* after an edit. The exact mechanics of that change -- i.e. whether Hackage bumps some digit or appends a tag or whatever -- aren't very important. What is important is that it's possible to distinguish the edited version from the original one. As of now, users cannot tell which variant of the package they've installed.
We could as well say that Hackage generates
ap-1.0.0.0.1 ap-1.0.0.0.2 -- for the next dependency fix
That would be one possible solution, yes. Personally, I think these kind of version numbers are a bit silly, so I would prefer to append a tag, but I don't feel strongly about that.
You cannot specify the 5th digit in cabal commands, so when you say
cabal install ap-1.0.0.0
you get the latest, i.e. ap-1.0.0.0.2.
Hackage edits are destructive: the original version is gone afterwards, and it's no longer possible to install it. As such, this point doesn't seem relevant. What is relevant, however, that people who have installed version ap-1.0.0.0.1 prior to the edit can actually tell that there is an update available -- ap-1.0.0.0.2 is *newer*. In the current state of affairs, it's not possible to tell that a package has been updated ("edited") just by looking at its version number. Best regards, Peter