emacsmirror / p.old

The Emacsmirror
http://emacsmirror.net
10 stars 2 forks source link

Restore ability to import Emacwiki packages #26

Closed tarsius closed 9 years ago

tarsius commented 11 years ago

Then inform people at https://github.com/dimitri/el-get/pull/1370.

tarsius commented 9 years ago

I am almost ready to push a new import of packages from the Emacswiki. This does include tags created from "Version" keywords found in the library headers.

@purcell There are some complications I would like your advice on:

This is what his headers usually look like:

;;; icicles.el --- Minibuffer input completion and cycling.
;;
;; Filename: icicles.el
;; Description: Minibuffer completion and cycling.
;; Author: Drew Adams
;; Maintainer: Drew Adams (concat "drew.adams" "@" "oracle" ".com")
;; Copyright (C) 1996-2014, Drew Adams, all rights reserved.
;; Created: Tue Aug  1 14:21:16 1995
;; Version: 2014.08.10
;; Package-Requires: ()
;; Last-Updated: Fri Nov 28 20:17:26 2014 (-0800)
;;           By: dradams
;;     Update #: 23643
;; URL: http://www.emacswiki.org/icicles.el
;; Doc URL: http://emacswiki.org/Icicles
;; Keywords: extensions, help, abbrev, local, minibuffer,
;;           keys, apropos, completion, matching, regexp, command
;; Compatibility: GNU Emacs: 20.x, 21.x, 22.x, 23.x, 24.x, 25.x
...

Actually that's a bit atypical, probably because someone was successful in pressuring him to do so. Normally the "version" is something like 22.0 which, I believe, means "works with any version of Emacs, starting with 22.1". He also quite often uses 0 as "version", which, I believe, means "works with any version of Emacs, starting with 20.1". The version being 0 he refers to as "the package is not versioned".

Unfortunately that means that the "version" can go down from e.g. 22.0 to 0 when he adds support for the ancient Emacs-20.1. So basically the "version" is crap which cannot be relied on.

In the past I have used VERSION.UPDATENR as version tag (when there was no version keyword at all then I also used 0). When I reimported all Emacswiki packages earlier today I have changed this to just UPDATENR but I would still change this now. E.g. I could use 20NNNNNN.UPDATENR. (The import from scratch took 370 minutes, but recreating the tags should be much faster).

What do you think?

purcell commented 9 years ago

The very first commit which contains a particular version string is being tagged using the version as tag name. I don't check whether version actually increase. We can probably live with that.

Yes, sounds like the best choice. If people don't increase their version numbers, then they're doing it wrong.

The fact that someone once added such a version keyword does not mean that she will continue to do so. So if you decide to get the Emacswiki packages from the individual repositories on the Emacsmirror, then the stable packages might actually be really old versions.

That happens a lot with regular git-hosted packages too, so its not a concern.

Again we cannot really do anything about that but to contact each maintainer individually and explain the problem to them, or just bump the version ourselves on the Emacswiki. But both variants are to costly, so again we just have to live with it, until a user of Melpa-stable actually reports such a problem.

Yep, and I'm fine with that.

Then of course we have to deal with the strange things Drew does... there's just no end to it :-(

I'd suggest not putting time into worrying about the weird cases: just do what would make most sense for sanely-versioned files.

tarsius commented 9 years ago

Done.