archiving.md: Amend the periodic pruning process#29073
archiving.md: Amend the periodic pruning process#29073kit-ty-kate wants to merge 1 commit intomasterfrom
Conversation
An example of this is: - `pkg.1` (released 3 years ago) - `pkg.2` (released 2 years ago) - `pkg.3` (released within the year) - `pkg.4` (released a month ago) - `pkg.5` (released a month ago as well) if `pkg.4` contains `x-maintenance-intent: ["(latest)"]`, under the current scheme `1`, `2`, `3` and `4` would be archived. With this amendment, only `1` would be archived since: - `pkg.5`: is the latest, so it is kept - `pkg.4`: the newer kept `pkg.5` has been released within the year, so it is also kept - `pkg.3`: the newer kept `pkg.4` has been released within the year, so it is also kept - `pkg.2`: the newer kept `pkg.3` has been released within the year, so it is also kept - `pkg.1`: the newer kept `pkg.2` is older than a year so it is free to be archived
5cd9b19 to
e122439
Compare
| At regular intervals, no less than every six months, the opam repo maintainers will reevaluate all packages to determine if they satisfy the [primary repo criteria](#criteria-for-inclusion-to-the-primary-repo-the-default-opam-repository). Packages that do not will be subject to archiving, according to the following process: | ||
|
|
||
| - If the package version falls outside the package's maintenance intent, it will be archived. | ||
| - If the package version falls outside the package's maintenance intent, it will be archived unless the next newer version that is left has been added to the repository in the past year (this check is to be done incrementally from latest to oldest version of each packages). |
There was a problem hiding this comment.
I think this is hard to parse. I would suggest (which I think is equivalent):
If the package version falls outside the package's maintenance intent, it is
archived only if the next version exists for at least more than one year in
the repo.
There was a problem hiding this comment.
The conditionals with negation is still hard to parse imo. I'd suggest:
- A package's version is archived if both
- the package version falls outside the package's maintenance intent and
- the next-more-recent version has been published at least one year prior to the archiving taking place.
and the next point would be
- For packages flagged with `avoid-version` or marked with `available: false`, a package's version is archived if it falls outside the maintenance intent, regardless of the age of the next version.
Actually, I'll try to think of a better wording even, could likely be improved further.
|
I'm in favour of this amendment. Keeping packages around for a year seems reasonable. |
|
I'm fine with such an amendment, but I'd propose to express it as: This would from your initial example put |
This changes the intent of the amendment quite a bit. |
|
@kit-ty-kate I see the intent but doesn't all this become a layer above |
|
As you like. I agree with @dbuenzli that taking "version numbers" and "timestamp" into account is inadequate, and maybe the expressive power of "x-maintenance-intent" (and "x-maintained") is not sufficient and needs to be revised. It was an interesting experiment, I learned a lot - but I also figure that it is way too stressful for me at the moment. I'm sure you'll find decent solutions. |
|
If you read this by mail, please see the edits of my above comment via the GitHub web interface. |
An example of this is:
pkg.1(released 3 years ago)pkg.2(released 2 years ago)pkg.3(released within the year)pkg.4(released a month ago)pkg.5(released a month ago as well)if
pkg.4containsx-maintenance-intent: ["(latest)"], under the current scheme1,2,3and4would be archived.With this amendment, only
1would be archived since:pkg.5: is the latest, so it is keptpkg.4: the newer keptpkg.5has been released within the year, so it is also keptpkg.3: the newer keptpkg.4has been released within the year, so it is also keptpkg.2: the newer keptpkg.3has been released within the year, so it is also keptpkg.1: the newer keptpkg.2is older than a year so it is free to be archived