Skip to content

Suggest new version #8

Open
Open
@agrafix

Description

@agrafix

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?

Activity

blitzcode

blitzcode commented on Dec 22, 2016

@blitzcode
Owner

Glad you like it!

I don't understand what 'next version' should be suggested?

agrafix

agrafix commented on Dec 22, 2016

@agrafix
Author

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
blitzcode

blitzcode commented on Dec 23, 2016

@blitzcode
Owner

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'.

agrafix

agrafix commented on Dec 23, 2016

@agrafix
Author
blitzcode

blitzcode commented on Dec 23, 2016

@blitzcode
Owner

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).

agrafix

agrafix commented on Dec 24, 2016

@agrafix
Author

Yes, that sounds great! Then everything else can be implemented around it via script.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

      Development

      No branches or pull requests

        Participants

        @agrafix@blitzcode

        Issue actions

          Suggest new version · Issue #8 · blitzcode/hackage-diff