emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: MELPA version numbers


From: Donald Curtis
Subject: Re: MELPA version numbers
Date: Thu, 1 Aug 2013 13:49:52 -0700

I apologize for the difficulty of finding contact information. We try to do most dealings via GitHub which we know doesn't work for everyone.

This would work as a solution except for that we would then break updates for current users in the same way that it would break if someone stopped using MELPA. It is also not clear in this case how to handle packages that don't include a version number.

I'm happy to keep this discussion open as I know it affects many users as well as developers.

One solution I might suggest is the approach that js2-mode has taken on the GNU repo. It seems that their versions follow with MELPA sans the time. I think that having arbitrary version numbers for things like extensions is a little overkill and MELPA is at least a little evidence that versioning based in the date of release *can* work. In this case it could be as simple as the Emacs community endorsing a release date based versioning system.






On Thu, Aug 1, 2013 at 10:50 AM, Stefan Monnier <address@hidden> wrote:
[ As is sadly becoming the norm nowadays, it's difficult to find
  a contact email address at http://melpa.milkbox.net/, so I send this
  here instead, hoping someone here will know where to resend it for
  me.  ]

A few times now I've heard people suffer from problems due to MELPA's
use of incomparable version numbers: MELPA builds packages straight from
a DVCS branch tip, so you get the "bleeding edge" and their build script
ignores the package's own version number and instead just slaps
a version number based on the current time, such as 20100105.123.

This system makes sense, but if the package is also available (in it's
"latest released version") via GNU ELPA or Marmalade, we have a problem
because the two version numbers can't be compared correctly, and
package.el doesn't even know it, so it just always picks MELPA's version
(since 20100105.123 is "clearly" much more recent than say 2.3).

This mess works surprisingly well in practice, since MELPA's versions
are often at least as recent as the one on GNU ELPA or Maramalde (by virtue
of being the bleeding edge from the DVCS).

But if you ever stop using MELPA, all your MELPA-installed packages will
stay non-updated for the foreseeable future since it'll take a while for
foo.el to go from version 2.3 to version 20100106.0.
And if for some reason the MELPA recipe points to an old DVCS
unmaintained branch, you're similarly out of luck.

One way out of this is to change the MELPA version numbers so that
instead of ignoring the package's "2.3" and replacing it with
"20100105.123", it should replace it with "2.3.20100105.123".

WDYT?


        Stefan


reply via email to

[Prev in Thread] Current Thread [Next in Thread]