bugGNU Octave - Bugs: bug #55829, prosposal: marking dev versions in...

 
 

bug #55829: prosposal: marking dev versions in DESCRIPTION

Submitted by:  Colin Macdonald <cbm>
Submitted on:  Mon 04 Mar 2019 08:06:18 PM UTC  
 
Category:  Octave website Severity:  3 - Normal
Priority:  5 - Normal Item Group:  Documentation
Status:  None Assigned to:  None
Originator Name:  Open/Closed:  Open
Release:  dev Operating System:  Any

Add a New Comment(Rich Markup)
   

You are not logged in

Please log in, so followups can be emailed to you.

 

( Jump to the original submission)

Thu 14 Mar 2019 11:12:12 PM UTC, comment #9:

Here's another patch we could apply after my previous one

(file #46541)

Colin Macdonald <cbm>
Thu 14 Mar 2019 10:09:27 PM UTC, comment #8:

This is the canonical description of Octave's current version scheme

Note to future selves: the line number anchor is not reliable, but my intent is to point to the "Release Numbering" heading.

I would not recommend following all of Octave's version scheme for Octave Forge packages, but rather something closer to SemVer, minus SemVer's special provision for pre-release suffixes.

Mike Miller <mtmiller>
Project Administrator
Thu 14 Mar 2019 09:56:00 PM UTC, comment #7:

I have a patch but it doesn't take Carnë's comments into account yet (written before that). I'll post it anyway for discussion.

Is there some URL we could point to about Octave's current versioning schemes? We could let packagers decide to use x.y.z+ or core Octave.

(file #46539)

Colin Macdonald <cbm>
Thu 14 Mar 2019 09:47:44 PM UTC, comment #6:

The only thing needed to resolve this is to make a change in the Octave Forge HTML pages and publish it. That is this code repository

* http://hg.code.sf.net/p/octave/project-web

@cbm Do you have thoughts where or how on the Forge web site this recommendation would be documented? I assume somewhere on developers.php.

Mike Miller <mtmiller>
Project Administrator
Thu 14 Mar 2019 02:55:46 PM UTC, comment #5:

From a technical point, version X.Y.Z+ is already supported since Octave 4.2 (see https://hg.savannah.gnu.org/hgweb/octave/rev/32cd60419b61 and https://hg.savannah.gnu.org/hgweb/octave/rev/1fff60b89786 )

I made the change on purpose to support the + on version numbers during development.

The logic of using '+' on package version numbers stems from its usage on octave core itself. But core changed that recently, and I think makes sense to follow whatever core is doing.

Carnë Draug <carandraug>
Project Member
Wed 13 Mar 2019 04:34:04 AM UTC, comment #4:

I like this. I've been using "X.Y.Z-SNAPSHOT" in my not-in-Forge packages, but would be glad to switch over.

Andrew Janke <apjanke>
Tue 05 Mar 2019 08:06:29 PM UTC, comment #3:

Posted as https://savannah.gnu.org/bugs/?55838, will also raise on the maintainers list for input.

Mike Miller <mtmiller>
Project Administrator
Mon 04 Mar 2019 09:08:33 PM UTC, comment #2:

I need to change my practice in Doctest (https://github.com/catch22/octave-doctest/pull/195) and Symbolic (to follow) but otherwise, I agree no particular changes.

What you propose for "~" sounds fine to me (as a separate issue). It should be documented in "compare_versions". We could list those "~rc" examples on the OF website too.

Colin Macdonald <cbm>
Mon 04 Mar 2019 08:58:41 PM UTC, comment #1:

Sounds fine to me, seems supported by the comments and works with the existing implementation. Implied by your notes, this should be phrased as a suggestion to package maintainers, maybe along with a set of working examples demonstrating different options?

Tagging as web site, because there's nothing much to change in any particular package or in Octave itself, right?

Alternatively, I very much prefer the semantics of the tilde character supported in both deb and rpm packages and would be happy to see Octave support that as well. That is, any suffix starting with "~" sorts less than the empty string. Using this special rule, a version "0.4.3~foo" would be strictly less than "0.4.3". This would give you the ability to have versions like "0.4.3~dev", "0.4.3~rc", or "0.4.3~1234".

I could propose that on the maintainers list or a separate bug report. There is a small risk of breaking an existing version beacuse "~" is already one of the allowed characters with no special semantics (it currently sorts after "_", "-", and "+"). But no Octave Forge packages currently use "~" at all.

Mike Miller <mtmiller>
Project Administrator
Mon 04 Mar 2019 08:06:18 PM UTC, original submission:

As a matter of best practice, I propose that Octave Forge packages could set "Version: " in the DESCRIPTION file to "0.4.2+" during the time following the release of version "0.4.2" and before the release of "0.4.3" (or "0.5.0").

Rational
--------

1. Most importantly, this would allow users who try a development version to have "pkg" upgrade to the final version when released.

2. I personally like "-dev" but our "compare_versions" differs from Python's "PEP 440" (https://www.python.org/dev/peps/pep-0440/#developmental-releases) in how "0.4.2-dev" is sorted compared to "0.4.2". The "+" postfix seems unambiguous.

3. Its short so doesn't visually pollute "pkg list" output.

4. private/get_description.m:is_valid_pkg_version_string specifically mentions this example in its comments. So perhaps "everyone" except me alreaady knows this ;-)

Notes
-----

* If someone prefers using "4.2.91" as development
versions or pre-releases, that's fine too! Really
I'm arguing against "-dev" here...

* If people like this, should we document it somewhere
on the Octave Forge website?

Colin Macdonald <cbm>

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach Files:
   
   
Comment:
   

Attached Files
file #46541:  More_notes_of_versioning.patch added by cbm (859B - text/x-patch)

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -email is unavailable- added by apjanke (Posted a comment)
  • -email is unavailable- added by cbm
  • -email is unavailable- added by cbm (Submitted the item)
  • -email is unavailable- added by cbm
  •  

    Do you think this task is very important?
    If so, you can add your encouragement to it.
    This task has 0 encouragements so far.

    Only project members can vote.

     

     

     

    Follow 7 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2019-03-14 cbm Attached File- => Added More_notes_of_versioning.patch, #46541
    2019-03-14 cbm Attached File- => Added Add_notes_about_development_versions.patch, #46539
    2019-03-05 mtmiller Carbon-CopyRemoved mtmiller => -
    2019-03-04 mtmiller CategoryOctave Forge Package => Octave website
    2019-03-04 cbm Carbon-Copy- => Added oheim
        Carbon-Copy- => Added mtmiller
        Carbon-Copy- => Added carandraug

    Back to the top


    Powered by Savane 3.4