unofficial mirror of notmuch@notmuchmail.org
 help / color / mirror / code / Atom feed
From: Frank LENORMAND <lenormf.ml@gmail.com>
To: David Bremner <david@tethera.net>,
	Floris Bruynooghe <flub@devork.be>,
	notmuch@notmuchmail.org
Subject: Re: [PATCH] python-cffi: read version from notmuch version file
Date: Wed, 24 Jun 2020 09:29:46 +0300	[thread overview]
Message-ID: <159298018690.2893984.13683337245672376576@localhost.localdomain> (raw)
In-Reply-To: <87mu4tcwjw.fsf@powell.devork.be>

On Wed Jun 24 00:16:35 2020, Floris Bruynooghe wrote:
> On Tue 23 Jun 2020 at 13:43 +0300, Frank LENORMAND wrote:
> > On Tue Jun 23 12:33:36 2020, David Bremner wrote:
> >> Frank LENORMAND <lenormf.ml@gmail.com> writes:
> >> > For example, 0.30.1, with the first two numbers coming from the main
> >> > repository, and the last one acting as major for the bindings.
> >> >
> >> > 0.29.3 → 0.29.1
> >> > 0.30-rc2 → 0.30.1-rc2
> >> > etc.
> >> >
> >> 
> >> I'm mainly interested in supporting two use cases for notmuch: building
> >> everything from source, and binary packages of released versions. We've
> >> already gone to some trouble to tell Emacs users that try to mix and
> >> match versions that they are on their own, and this seems to apply even
> >> more strongly to bindings users.
> >>    
> >> With that said, if Floris thinks some hierarchical version is useful,
> >> and is willing to maintain it, I can live with it. I would ask that:
> >> 
> >> 1) You keep the whole "upstream" version number. So the first example
> >> would be 0.29.3.1.  0.29.1 is a previous version of notmuch, and that
> >> ambiguity can only cause trouble.
> >
> > The idea was that the bindings will work with the X.Y version they were
> > released for, since the last component in X.Y.Z is for minor changes that
> > shouldn't affect the API.
> 
> Minor nitpicking, but API is not strong enough here, you'd need to
> ensure ABI compatibility.
> 
> > So we can keep X.Y from NotMuch itself, and append some information that
> > hint at the state of the bindings.
> [...]
> > Or the exact same version number, but then what should happen to it when
> > the bindings are modified, but not NotMuch?
> 
> If it was bad enough to need a new release then I guess everyone gets
> the same version bump as the entire project gets a bugfix release?
> 
> I honestly like the simplicity of just having the same version number
> and not having to think about maintaining it separately.  It also means
> we mostly don't have to worry about how setuptools/pip is going to view
> the version number.
> 
> The only way I think this could break is if we want to break backwards
> compatibility in the bindings, but we're not supposed to do that
> (realistically an impossible task in Python if you ask me, but we can
> aim for at least avoiding doing this knowingly).
> 
> The most likely version number sin is that the python bindings get a new
> feature while libnotmuch only gets bugfix.  I also don't think this is
> terrible, but that's perhaps unusual and frowned upon.  Maybe this
> warrants a README in the bindings to warn the version number just tracks
> libnotmuch and as far as python goes can only be used to order the
> releases.

Fair enough. I've never been in that situation before, so brainstorming
about it was fun :)

I'll keep an eye out for a patch.

Regards,
-- 
Frank LENORMAND

      reply	other threads:[~2020-06-24  6:30 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-06-19  9:46 python-cffi: read version number from notmuch Floris Bruynooghe
2020-06-19  9:46 ` [PATCH] python-cffi: read version from notmuch version file Floris Bruynooghe
2020-06-19 10:20   ` David Bremner
2020-06-19 10:50     ` Floris Bruynooghe
2020-06-19 12:26   ` Frank LENORMAND
2020-06-22 21:45     ` Floris Bruynooghe
2020-06-23  5:24       ` Frank LENORMAND
2020-06-23  9:33         ` David Bremner
2020-06-23 10:43           ` Frank LENORMAND
2020-06-23 21:16             ` Floris Bruynooghe
2020-06-24  6:29               ` Frank LENORMAND [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://notmuchmail.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=159298018690.2893984.13683337245672376576@localhost.localdomain \
    --to=lenormf.ml@gmail.com \
    --cc=david@tethera.net \
    --cc=flub@devork.be \
    --cc=notmuch@notmuchmail.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://yhetil.org/notmuch.git/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).