Quantcast

Diffs for hackage

classic Classic list List threaded Threaded
11 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Diffs for hackage

Luite Stegeman
hi all,

often when a new version of a package is available on hackage, I want to see what has changed since the previous release. Unfortunately many packages don't have a changelog or a public source code repository. That's why I have made a simple website with git repositories that contain all versions of all hackage packages:


The home page contains a bookmarklet that takes you directly from the index page of a package version (for example http://hackage.haskell.org/package/parsec-3.1.0 ) to the commit diff, showing the difference with the previous version ( http://hdiff.luite.com/cgit/parsec/commit?id=3.1.0 )

I hope some people will find this useful,

luite


_______________________________________________
Haskell-Cafe mailing list
[hidden email]
http://www.haskell.org/mailman/listinfo/haskell-cafe
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Diffs for hackage

Christopher Done
Wow, really nice stuff. Great work! I'll find this very useful.

On 13 August 2011 08:11, Luite Stegeman <[hidden email]> wrote:

> hi all,
> often when a new version of a package is available on hackage, I want to see
> what has changed since the previous release. Unfortunately many packages
> don't have a changelog or a public source code repository. That's why I have
> made a simple website with git repositories that contain all versions of all
> hackage packages:
>
> http://hdiff.luite.com/
> The home page contains a bookmarklet that takes you directly from the index
> page of a package version (for
> example http://hackage.haskell.org/package/parsec-3.1.0 ) to the commit
> diff, showing the difference with the previous version
> ( http://hdiff.luite.com/cgit/parsec/commit?id=3.1.0 )
> I hope some people will find this useful,
> luite
>
> _______________________________________________
> Haskell-Cafe mailing list
> [hidden email]
> http://www.haskell.org/mailman/listinfo/haskell-cafe
>
>

_______________________________________________
Haskell-Cafe mailing list
[hidden email]
http://www.haskell.org/mailman/listinfo/haskell-cafe
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Diffs for hackage

Joachim Breitner-2
In reply to this post by Luite Stegeman
Hi,

Am Samstag, den 13.08.2011, 08:11 +0200 schrieb Luite Stegeman:

> often when a new version of a package is available on hackage, I want
> to see what has changed since the previous release. Unfortunately many
> packages don't have a changelog

this is something that should be changed! Reviewing code changes to see
what has changed may be ok if you upgrade one library that you are going
to use the library extensively. But for Distribution packagers (and
surely other use cases), it is just too much.

See http://hackage.haskell.org/trac/hackage/ticket/299 for more
discussion, but please, avoid overengineering and rather get us
changelogs soon.

Maybe it would already help to add a "changelog-file" field to .cabal,
just as with license-file, and reject packages on hackage that do not
have this field and file, and later decide if we need a more
standardized format for changelogs.

Greetings,
Joachim
(Who is constantly annoyed and ashamed about this blemish of the Haskell
ecosystem.)


--
Joachim "nomeata" Breitner
  [hidden email]  |  [hidden email]  |  GPG: 0x4743206C
  xmpp: [hidden email] | http://www.joachim-breitner.de/


_______________________________________________
Haskell-Cafe mailing list
[hidden email]
http://www.haskell.org/mailman/listinfo/haskell-cafe

signature.asc (205 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Diffs for hackage

Ivan Lazar Miljenovic
On 13 August 2011 20:57, Joachim Breitner <[hidden email]> wrote:
> Maybe it would already help to add a "changelog-file" field to .cabal,
> just as with license-file, and reject packages on hackage that do not
> have this field and file, and later decide if we need a more
> standardized format for changelogs.

I agree, but it would be nice to also have optional readme-file,
todo-file and doc-files fields (the latter to let us avoid banging
documentation in with "extra-source-files").

As for a standardised format... I'm not sure if we need to enforce a
particular format, as long as it's understandable.

--
Ivan Lazar Miljenovic
[hidden email]
IvanMiljenovic.wordpress.com

_______________________________________________
Haskell-Cafe mailing list
[hidden email]
http://www.haskell.org/mailman/listinfo/haskell-cafe
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Diffs for hackage

David Fox-7
On Sat, Aug 13, 2011 at 5:18 AM, Ivan Lazar Miljenovic
<[hidden email]> wrote:

> On 13 August 2011 20:57, Joachim Breitner <[hidden email]> wrote:
>> Maybe it would already help to add a "changelog-file" field to .cabal,
>> just as with license-file, and reject packages on hackage that do not
>> have this field and file, and later decide if we need a more
>> standardized format for changelogs.
>
> I agree, but it would be nice to also have optional readme-file,
> todo-file and doc-files fields (the latter to let us avoid banging
> documentation in with "extra-source-files").
>
> As for a standardised format... I'm not sure if we need to enforce a
> particular format, as long as it's understandable.

Debian's packaging has a very strict changelog format where each entry
combines a log entry with the package name, the version number, the
author's name and email, and the date.  This creates a very nice,
centralized, authoritative source for these pieces of information that
can't be accidentally omitted or allowed to become stale.

_______________________________________________
Haskell-Cafe mailing list
[hidden email]
http://www.haskell.org/mailman/listinfo/haskell-cafe
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Diffs for hackage

Ivan Lazar Miljenovic
On 14 August 2011 00:25, David Fox <[hidden email]> wrote:
>
> Debian's packaging has a very strict changelog format where each entry
> combines a log entry with the package name, the version number, the
> author's name and email, and the date.  This creates a very nice,
> centralized, authoritative source for these pieces of information that
> can't be accidentally omitted or allowed to become stale.

Is this for the actual Debian packages, or even for source tarballs
that they get from upstream?

--
Ivan Lazar Miljenovic
[hidden email]
IvanMiljenovic.wordpress.com

_______________________________________________
Haskell-Cafe mailing list
[hidden email]
http://www.haskell.org/mailman/listinfo/haskell-cafe
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Diffs for hackage

Joachim Breitner-2
Hi,

Am Sonntag, den 14.08.2011, 00:29 +1000 schrieb Ivan Lazar Miljenovic:
> On 14 August 2011 00:25, David Fox <[hidden email]> wrote:
> > Debian's packaging has a very strict changelog format where each entry
> > combines a log entry with the package name, the version number, the
> > author's name and email, and the date.  This creates a very nice,
> > centralized, authoritative source for these pieces of information that
> > can't be accidentally omitted or allowed to become stale.
>
> Is this for the actual Debian packages, or even for source tarballs
> that they get from upstream?

it’s for the packaging work, here is an example:
http://packages.debian.org/changelogs/pool/main/g/ghc/ghc_7.0.4-4/changelog

But I think David is suggesting to adapt a similarly formatted changelog
file for Cabal packages, e.g. to display them on hackage. I am all for
that, as long as it does not prevent the introduction of changelogs
(e.g. by excessive bikeshedding or by having people lose interest
again).

Greetings,
Joachim


--
Joachim "nomeata" Breitner
  [hidden email]  |  [hidden email]  |  GPG: 0x4743206C
  xmpp: [hidden email] | http://www.joachim-breitner.de/


_______________________________________________
Haskell-Cafe mailing list
[hidden email]
http://www.haskell.org/mailman/listinfo/haskell-cafe

signature.asc (205 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Diffs for hackage

David Fox-7
On Sat, Aug 13, 2011 at 8:13 AM, Joachim Breitner
<[hidden email]> wrote:

> Hi,
>
> Am Sonntag, den 14.08.2011, 00:29 +1000 schrieb Ivan Lazar Miljenovic:
>> On 14 August 2011 00:25, David Fox <[hidden email]> wrote:
>> > Debian's packaging has a very strict changelog format where each entry
>> > combines a log entry with the package name, the version number, the
>> > author's name and email, and the date.  This creates a very nice,
>> > centralized, authoritative source for these pieces of information that
>> > can't be accidentally omitted or allowed to become stale.
>>
>> Is this for the actual Debian packages, or even for source tarballs
>> that they get from upstream?
>
> it’s for the packaging work, here is an example:
> http://packages.debian.org/changelogs/pool/main/g/ghc/ghc_7.0.4-4/changelog
>
> But I think David is suggesting to adapt a similarly formatted changelog
> file for Cabal packages, e.g. to display them on hackage. I am all for
> that, as long as it does not prevent the introduction of changelogs
> (e.g. by excessive bikeshedding or by having people lose interest
> again).

If anyone wants to take a look, there is a parser for Debian's
changelog format in the debian package, module Debian.Changes:
http://hackage.haskell.org/package/debian

_______________________________________________
Haskell-Cafe mailing list
[hidden email]
http://www.haskell.org/mailman/listinfo/haskell-cafe
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Diffs for hackage

Joachim Breitner-2
In reply to this post by Joachim Breitner-2
Hi,

Am Samstag, den 13.08.2011, 12:57 +0200 schrieb Joachim Breitner:
> Maybe it would already help to add a "changelog-file" field to .cabal,
> just as with license-file, and reject packages on hackage that do not
> have this field and file, and later decide if we need a more
> standardized format for changelogs.

here is a first step in improving the Haskell ecosystem with that
regard:
The patch attached to http://hackage.haskell.org/trac/hackage/ticket/873
makes "cabal check" remind the author that a changelog file is good
practice (without fixing a name or format, or adding a field to
the .cabal file). I hope it gets applied (hence CC’ing cabal-devel).

Changing developers’ behavior by nudging tools is something that works
great in Debian – if you want a change to get implemented across
multiple packages, make sure lintian tells you about it. Hoping that
people tend to run cabal check before uploading their package, they
would now be reminded to include a changelog file.

The next steps towards great changes documentation would then be:
 * Defining a changelog-file field in cabal.
 * Adding support to hackage to display the changelog.
 * Possibly define a suggested format for changelogs.

Greetings,
Joachim


--
Joachim "nomeata" Breitner
  [hidden email]  |  [hidden email]  |  GPG: 0x4743206C
  xmpp: [hidden email] | http://www.joachim-breitner.de/


_______________________________________________
Haskell-Cafe mailing list
[hidden email]
http://www.haskell.org/mailman/listinfo/haskell-cafe

signature.asc (205 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Diffs for hackage

Ivan Lazar Miljenovic
In reply to this post by Joachim Breitner-2
On 14 August 2011 01:13, Joachim Breitner <[hidden email]> wrote:
> But I think David is suggesting to adapt a similarly formatted changelog
> file for Cabal packages, e.g. to display them on hackage. I am all for
> that, as long as it does not prevent the introduction of changelogs
> (e.g. by excessive bikeshedding or by having people lose interest
> again).

I think to an extent it might, as those people who already have
changelogs of one kind or another would then have to go and re-format
them (disclaimer: my changelog for graphviz is currently in Markdown
so that I can make a web version of it:
http://projects.haskell.org/graphviz/changelog.html ).

--
Ivan Lazar Miljenovic
[hidden email]
IvanMiljenovic.wordpress.com

_______________________________________________
Haskell-Cafe mailing list
[hidden email]
http://www.haskell.org/mailman/listinfo/haskell-cafe
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Diffs for hackage

wren ng thornton
In reply to this post by Joachim Breitner-2
On 8/13/11 5:39 PM, Joachim Breitner wrote:

> Hi,
>
> Am Samstag, den 13.08.2011, 12:57 +0200 schrieb Joachim Breitner:
>> Maybe it would already help to add a "changelog-file" field to .cabal,
>> just as with license-file, and reject packages on hackage that do not
>> have this field and file, and later decide if we need a more
>> standardized format for changelogs.
>
> here is a first step in improving the Haskell ecosystem with that
> regard:
> The patch attached to http://hackage.haskell.org/trac/hackage/ticket/873
> makes "cabal check" remind the author that a changelog file is good
> practice (without fixing a name or format, or adding a field to
> the .cabal file). I hope it gets applied (hence CC’ing cabal-devel).
>
> Changing developers’ behavior by nudging tools is something that works
> great in Debian – if you want a change to get implemented across
> multiple packages, make sure lintian tells you about it. Hoping that
> people tend to run cabal check before uploading their package, they
> would now be reminded to include a changelog file.

+1.

> The next steps towards great changes documentation would then be:
>   * Defining a changelog-file field in cabal.
>   * Adding support to hackage to display the changelog.
>   * Possibly define a suggested format for changelogs.

At the risk of overengineering, perhaps the easiest way to deal with
format bikeshedding is just to define an enumeration of formats just
like the enumeration of licenses. That way machine-readable formats are
annotated by which machine should read them, but crotchety developers
don't have to change their changelogging preferences. After that's in
place, then we can worry about the social pressure to get the community
to agree on a smaller set of formats (just like has happened with licenses).

--
Live well,
~wren

_______________________________________________
Haskell-Cafe mailing list
[hidden email]
http://www.haskell.org/mailman/listinfo/haskell-cafe
Loading...