Open agrafix opened 7 years ago
Glad you like it!
I don't understand what 'next version' should be suggested?
Currently, I can call the tool with hackage-diff conduit 1.1.5 ~/tmp/conduit-1.1.6/dist/doc/html/conduit/conduit.txt
to see the API diff between conduit 1.1.5
and the local conduit 1.1.6
. What I would like to do would be to call hackage-diff --pvp-version conduit 1.1.5 ~/my-local-unreleased-conduit
and the tool outputs something like this:
Based on this diff:
+ Data.Serialize.IEEE754
+ getFloat32be :: Get Float
+ getFloat32le :: Get Float
+ getFloat64be :: Get Double
+ getFloat64le :: Get Double
+ putFloat32be :: Float -> Put
+ putFloat32le :: Float -> Put
+ putFloat64be :: Double -> Put
+ putFloat64le :: Double -> Put
× Data.Serialize
+ instance Serialize a => GSerialize (K1 i a)
[...]
we can see a BREAKING CHANGE. Thus, the new version for ~/my-local-unreleased-conduit must be at least 2.0.0
Hm, not sure I find that terribly useful. I mean, it's basically if breakingChange then bumpMajor else bumpMinor
? That just seems like it would require zero mental effort to do yourself and copy & pasting the version number from the output (and / or typing --pvp-version
) might actually be more work than to just +1 an integer in the .cabal file 'manually'.
That's true, but this way one could include it in the CI pipeline and have it enforced (or at least checked) automatically.
Am 23.12.2016 um 12:13 schrieb Tim C. Schröder notifications@github.com:
Hm, not sure I find that terribly useful. I mean, it's basically if breakingChange then bumpMajor else bumpMinor? That just seems like it would require zero mental effort to do yourself and copy & pasting the version number from the output (and / or typing --pvp-version) might actually be more work than to just +1 an integer in the .cabal file 'manually'.
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or mute the thread.
Would it perhaps be even better then to have the process exit code indicate no changes / no breaking changes / breaking changes? Easiest to integrate into a script (no parsing).
Yes, that sounds great! Then everything else can be implemented around it via script.
Nice tool! :-) It would be really nice if the tool could also suggest the next version, maybe even with a flag for selecting either PVP or SemVer?