unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* emacs-25 merge pushed, please confirm
@ 2016-01-12  7:09 John Wiegley
  2016-01-12 11:12 ` Alex Bennée
  2016-01-17 23:04 ` Next release from master Stefan Monnier
  0 siblings, 2 replies; 120+ messages in thread
From: John Wiegley @ 2016-01-12  7:09 UTC (permalink / raw)
  To: emacs-devel

[-- Attachment #1: Type: text/plain, Size: 302 bytes --]

I just pushed up another emacs-25 -> master merge, this time using gitmerge.
This is just a request to check that everything looks as it should.

-- 
John Wiegley                  GPG fingerprint = 4710 CF98 AF9B 327B B80F
http://newartisans.com                          60E1 46C4 BD1A 7AC1 4BA2

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 629 bytes --]

^ permalink raw reply	[flat|nested] 120+ messages in thread

* Re: emacs-25 merge pushed, please confirm
  2016-01-12  7:09 emacs-25 merge pushed, please confirm John Wiegley
@ 2016-01-12 11:12 ` Alex Bennée
  2016-01-12 16:19   ` John Wiegley
  2016-01-17 23:04 ` Next release from master Stefan Monnier
  1 sibling, 1 reply; 120+ messages in thread
From: Alex Bennée @ 2016-01-12 11:12 UTC (permalink / raw)
  To: John Wiegley; +Cc: emacs-devel


John Wiegley <jwiegley@gmail.com> writes:

> I just pushed up another emacs-25 -> master merge, this time using gitmerge.
> This is just a request to check that everything looks as it should.

Just to confirm emacs-25 is the branch to follow for those tracking the
stabilisation of the next release? The merges from emacs-25 to master
are so fixes get merged into what will be mainline development once
emacs-25 is out?

--
Alex Bennée



^ permalink raw reply	[flat|nested] 120+ messages in thread

* Re: emacs-25 merge pushed, please confirm
  2016-01-12 11:12 ` Alex Bennée
@ 2016-01-12 16:19   ` John Wiegley
  0 siblings, 0 replies; 120+ messages in thread
From: John Wiegley @ 2016-01-12 16:19 UTC (permalink / raw)
  To: Alex Bennée; +Cc: emacs-devel

>>>>> Alex Bennée <alex.bennee@linaro.org> writes:

> Just to confirm emacs-25 is the branch to follow for those tracking the
> stabilisation of the next release? The merges from emacs-25 to master are so
> fixes get merged into what will be mainline development once emacs-25 is
> out?

Correct.

-- 
John Wiegley                  GPG fingerprint = 4710 CF98 AF9B 327B B80F
http://newartisans.com                          60E1 46C4 BD1A 7AC1 4BA2



^ permalink raw reply	[flat|nested] 120+ messages in thread

* Next release from master
  2016-01-12  7:09 emacs-25 merge pushed, please confirm John Wiegley
  2016-01-12 11:12 ` Alex Bennée
@ 2016-01-17 23:04 ` Stefan Monnier
  2016-01-17 23:10   ` John Wiegley
                     ` (2 more replies)
  1 sibling, 3 replies; 120+ messages in thread
From: Stefan Monnier @ 2016-01-17 23:04 UTC (permalink / raw)
  To: emacs-devel

BTW,

I noticed that etc/NEWS on master is setup for "25.2" being the next
release from master.  Is that indeed the intention?

My own conclusion based on how things worked during Emacs-24.N was that
we're better off incrementing the major version every time there are new
features.  IOW the next release form master should be called 26.1 and
25.N should be kept for a bugfix-only releases from the emacs-25 branch.

It's not tremendously important, but the way we've done it in the past
ended up with all kinds of minor inconveniences when we suddenly decide
that we need another bugfix release: e.g. having to update all
"make-obsolete" calls, not to mention all the "will be fixed in (or
added to) Emacs-NN.MM" already posted in debbugs, mailing-lists,
stackoverflow, forums, and newsgroups which suddenly become lies.


        Stefan




^ permalink raw reply	[flat|nested] 120+ messages in thread

* Re: Next release from master
  2016-01-17 23:04 ` Next release from master Stefan Monnier
@ 2016-01-17 23:10   ` John Wiegley
  2016-01-18  9:06     ` Michael Albinus
  2016-01-18 15:55     ` Eli Zaretskii
  2016-01-18 15:54   ` Eli Zaretskii
  2016-01-21 17:35   ` Glenn Morris
  2 siblings, 2 replies; 120+ messages in thread
From: John Wiegley @ 2016-01-17 23:10 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: emacs-devel

[-- Attachment #1: Type: text/plain, Size: 878 bytes --]

>>>>> Stefan Monnier <monnier@iro.umontreal.ca> writes:

> My own conclusion based on how things worked during Emacs-24.N was that
> we're better off incrementing the major version every time there are new
> features. IOW the next release form master should be called 26.1 and 25.N
> should be kept for a bugfix-only releases from the emacs-25 branch.

I think you have a good point, Stefan. master should become emacs-26 at some
point in the future, once it's ready, while emacs-25 should only continue to
improve and stabilize the 25.x series.

I imagine we will be actively working in emacs-25 for at least 25.1 and 25.2,
before shifting attention over to master and leaving emacs-25 only for
maintenance.

-- 
John Wiegley                  GPG fingerprint = 4710 CF98 AF9B 327B B80F
http://newartisans.com                          60E1 46C4 BD1A 7AC1 4BA2

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 629 bytes --]

^ permalink raw reply	[flat|nested] 120+ messages in thread

* Re: Next release from master
  2016-01-17 23:10   ` John Wiegley
@ 2016-01-18  9:06     ` Michael Albinus
  2016-01-18 15:55       ` Eli Zaretskii
  2016-01-18 15:55     ` Eli Zaretskii
  1 sibling, 1 reply; 120+ messages in thread
From: Michael Albinus @ 2016-01-18  9:06 UTC (permalink / raw)
  To: emacs-devel

John Wiegley <jwiegley@gmail.com> writes:

>> My own conclusion based on how things worked during Emacs-24.N was that
>> we're better off incrementing the major version every time there are new
>> features. IOW the next release form master should be called 26.1 and 25.N
>> should be kept for a bugfix-only releases from the emacs-25 branch.
>
> I think you have a good point, Stefan. master should become emacs-26 at some
> point in the future, once it's ready, while emacs-25 should only continue to
> improve and stabilize the 25.x series.
>
> I imagine we will be actively working in emacs-25 for at least 25.1 and 25.2,
> before shifting attention over to master and leaving emacs-25 only for
> maintenance.

What release cycles are we're speaking about, in terms of time? Example:
I have committed the first bits to the master branch of what would be
Tramp 2.3. Incompatible (the code, NOT the external interface) to Tramp
2.2.13 in Emacs 25.1. If it takes a long time until Emacs 26 is
released, that code should go to Emacs 25.2, somehow. 

Best regards, Michael.



^ permalink raw reply	[flat|nested] 120+ messages in thread

* Re: Next release from master
  2016-01-17 23:04 ` Next release from master Stefan Monnier
  2016-01-17 23:10   ` John Wiegley
@ 2016-01-18 15:54   ` Eli Zaretskii
  2016-01-21 17:35   ` Glenn Morris
  2 siblings, 0 replies; 120+ messages in thread
From: Eli Zaretskii @ 2016-01-18 15:54 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: emacs-devel

> From: Stefan Monnier <monnier@iro.umontreal.ca>
> Date: Sun, 17 Jan 2016 18:04:17 -0500
> 
> I noticed that etc/NEWS on master is setup for "25.2" being the next
> release from master.  Is that indeed the intention?

I think we don't know yet.

> My own conclusion based on how things worked during Emacs-24.N was that
> we're better off incrementing the major version every time there are new
> features.  IOW the next release form master should be called 26.1 and
> 25.N should be kept for a bugfix-only releases from the emacs-25 branch.

There's a new kid on the block (not me, I'm anything but "new" ;-),
and he needs time to make up his mind about what exactly will be
released, when, and how.  What you see now was asked and answered:

  From http://lists.gnu.org/archive/html/emacs-devel/2015-11/msg01372.html:

  > >>>>> Eli Zaretskii writes:
  > 
  > > We should now change master to identify itself as version 25.1.50 or maybe
  > > even 26.0.50. OK?
  > 
  > Let's go with 25.1.50 for now.

> It's not tremendously important, but the way we've done it in the past
> ended up with all kinds of minor inconveniences when we suddenly decide
> that we need another bugfix release: e.g. having to update all
> "make-obsolete" calls, not to mention all the "will be fixed in (or
> added to) Emacs-NN.MM" already posted in debbugs, mailing-lists,
> stackoverflow, forums, and newsgroups which suddenly become lies.

I don't see any good way around these issues, as long as the decisions
are dynamic and not subject to some fixed deterministic algorithm.
Even if we somehow force ourselves to make the decision now, there
will be similar issues in the other direction, see Michael's email
down-thread.

These issues are not a catastrophe, making those changes (where
necessary) is a simple (though boring and ungrateful) job.



^ permalink raw reply	[flat|nested] 120+ messages in thread

* Re: Next release from master
  2016-01-17 23:10   ` John Wiegley
  2016-01-18  9:06     ` Michael Albinus
@ 2016-01-18 15:55     ` Eli Zaretskii
  2016-01-18 21:13       ` John Wiegley
  1 sibling, 1 reply; 120+ messages in thread
From: Eli Zaretskii @ 2016-01-18 15:55 UTC (permalink / raw)
  To: John Wiegley; +Cc: monnier, emacs-devel

> From: John Wiegley <jwiegley@gmail.com>
> Date: Sun, 17 Jan 2016 15:10:13 -0800
> Cc: emacs-devel@gnu.org
> 
> > My own conclusion based on how things worked during Emacs-24.N was that
> > we're better off incrementing the major version every time there are new
> > features. IOW the next release form master should be called 26.1 and 25.N
> > should be kept for a bugfix-only releases from the emacs-25 branch.
> 
> I think you have a good point, Stefan. master should become emacs-26 at some
> point in the future, once it's ready, while emacs-25 should only continue to
> improve and stabilize the 25.x series.

Are you changing your mind? ;-)  You told me something different in
http://lists.gnu.org/archive/html/emacs-devel/2015-11/msg01372.html.

> I imagine we will be actively working in emacs-25 for at least 25.1 and 25.2,
> before shifting attention over to master and leaving emacs-25 only for
> maintenance.

You seem to be talking about something that never happened before in
Emacs: we never left any branch "for maintenance", we left it for
good.  Once the decision was made that the next release will be from
master, the branch was abandoned, and never revisited except in
emergency (e.g., if some super-critical bug was reported in the last
release that required an urgent fix).



^ permalink raw reply	[flat|nested] 120+ messages in thread

* Re: Next release from master
  2016-01-18  9:06     ` Michael Albinus
@ 2016-01-18 15:55       ` Eli Zaretskii
  2016-01-18 20:06         ` Michael Albinus
  0 siblings, 1 reply; 120+ messages in thread
From: Eli Zaretskii @ 2016-01-18 15:55 UTC (permalink / raw)
  To: Michael Albinus; +Cc: emacs-devel

> From: Michael Albinus <michael.albinus@gmx.de>
> Date: Mon, 18 Jan 2016 10:06:14 +0100
> 
> What release cycles are we're speaking about, in terms of time? Example:
> I have committed the first bits to the master branch of what would be
> Tramp 2.3. Incompatible (the code, NOT the external interface) to Tramp
> 2.2.13 in Emacs 25.1. If it takes a long time until Emacs 26 is
> released, that code should go to Emacs 25.2, somehow.

If that's what you want, you will need to lobby for back-porting those
changes after 25.1 is released (assuming 25.2 will be released from
the Emacs-25 branch, that is).



^ permalink raw reply	[flat|nested] 120+ messages in thread

* Re: Next release from master
  2016-01-18 15:55       ` Eli Zaretskii
@ 2016-01-18 20:06         ` Michael Albinus
  2016-01-18 20:25           ` Eli Zaretskii
  0 siblings, 1 reply; 120+ messages in thread
From: Michael Albinus @ 2016-01-18 20:06 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: emacs-devel

Eli Zaretskii <eliz@gnu.org> writes:

> If that's what you want, you will need to lobby for back-porting those
> changes after 25.1 is released (assuming 25.2 will be released from
> the Emacs-25 branch, that is).

That's what I've feared. Double work. Hmm, so what ...

Best regards, Michael.



^ permalink raw reply	[flat|nested] 120+ messages in thread

* Re: Next release from master
  2016-01-18 20:06         ` Michael Albinus
@ 2016-01-18 20:25           ` Eli Zaretskii
  0 siblings, 0 replies; 120+ messages in thread
From: Eli Zaretskii @ 2016-01-18 20:25 UTC (permalink / raw)
  To: Michael Albinus; +Cc: emacs-devel

> From: Michael Albinus <michael.albinus@gmx.de>
> Date: Mon, 18 Jan 2016 21:06:19 +0100
> Cc: emacs-devel@gnu.org
> 
> Eli Zaretskii <eliz@gnu.org> writes:
> 
> > If that's what you want, you will need to lobby for back-porting those
> > changes after 25.1 is released (assuming 25.2 will be released from
> > the Emacs-25 branch, that is).
> 
> That's what I've feared. Double work.

Backport boils down to cherry-picking certain commits, so it's hardly
double work.  Or maybe I don't understand what work did you have in
mind.

In any case, this is one reason why maintaining a package outside
Emacs has its downsides.



^ permalink raw reply	[flat|nested] 120+ messages in thread

* Re: Next release from master
  2016-01-18 15:55     ` Eli Zaretskii
@ 2016-01-18 21:13       ` John Wiegley
  2016-01-18 21:31         ` Daniel Colascione
  0 siblings, 1 reply; 120+ messages in thread
From: John Wiegley @ 2016-01-18 21:13 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: monnier, emacs-devel

[-- Attachment #1: Type: text/plain, Size: 2570 bytes --]

>>>>> Eli Zaretskii <eliz@gnu.org> writes:

>> master should become emacs-26 at some point in the future, once it's ready,
>> while emacs-25 should only continue to improve and stabilize the 25.x
>> series.

> Are you changing your mind? ;-) You told me something different in
> http://lists.gnu.org/archive/html/emacs-devel/2015-11/msg01372.html.

Yes, I suppose I am.

'master' should be a place where people can commit API-breaking changes once
they are ready for general consumption; otherwise, such changes would have to
live in feature branches for a very long time, and we'd have little ability to
test them in combination.

However, changes of that magnitude shouldn't happen between 25.1 and 25.2;
that's not what a minor release means to me. When things really start
changing, we should think of them as going into the next major release.

Therefore, the emacs-25 branch will stabilize over time until there's nothing
more to do there. Although many will abandon the branch altogether in favor of
master at some point, there might still be some who wish to fix bugs there and
call for a point release.

I imagine this will lead to more frequent major releases, and fewer point
releases, but that really depends on what we're doing. The more bug work we
do, the more point releases; the more feature work, the more major releases.

I'm not sure that I'm calling for anything radically different than what has
happened before, though.  Are you saying that in the past, what is now master
would become 25.2? What then of features that are destined for 26 and not
future versions of 25.x?

> You seem to be talking about something that never happened before in Emacs:
> we never left any branch "for maintenance", we left it for good. Once the
> decision was made that the next release will be from master, the branch was
> abandoned, and never revisited except in emergency (e.g., if some
> super-critical bug was reported in the last release that required an urgent
> fix).

Yes, I may be talking about something that never happened before in Emacs, but
it's been valuable on other projects, so I thought we might try it here as
well.

That said, if a shift to master means no one ever fixes another bug on
emacs-25, then there will be effectively no change; but the branch can still
hang around for a while, and be available for point releases if necessary.

-- 
John Wiegley                  GPG fingerprint = 4710 CF98 AF9B 327B B80F
http://newartisans.com                          60E1 46C4 BD1A 7AC1 4BA2

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 629 bytes --]

^ permalink raw reply	[flat|nested] 120+ messages in thread

* Re: Next release from master
  2016-01-18 21:13       ` John Wiegley
@ 2016-01-18 21:31         ` Daniel Colascione
  2016-01-18 21:43           ` John Wiegley
  0 siblings, 1 reply; 120+ messages in thread
From: Daniel Colascione @ 2016-01-18 21:31 UTC (permalink / raw)
  To: Eli Zaretskii, monnier, emacs-devel

[-- Attachment #1: Type: text/plain, Size: 2689 bytes --]

On 01/18/2016 01:13 PM, John Wiegley wrote:
>>>>>> Eli Zaretskii <eliz@gnu.org> writes:
> 
>>> master should become emacs-26 at some point in the future, once it's ready,
>>> while emacs-25 should only continue to improve and stabilize the 25.x
>>> series.
> 
>> Are you changing your mind? ;-) You told me something different in
>> http://lists.gnu.org/archive/html/emacs-devel/2015-11/msg01372.html.
> 
> Yes, I suppose I am.
> 
> 'master' should be a place where people can commit API-breaking changes once
> they are ready for general consumption; otherwise, such changes would have to
> live in feature branches for a very long time, and we'd have little ability to
> test them in combination.
> 
> However, changes of that magnitude shouldn't happen between 25.1 and 25.2;
> that's not what a minor release means to me. When things really start
> changing, we should think of them as going into the next major release.
> 
> Therefore, the emacs-25 branch will stabilize over time until there's nothing
> more to do there. Although many will abandon the branch altogether in favor of
> master at some point, there might still be some who wish to fix bugs there and
> call for a point release.
> 
> I imagine this will lead to more frequent major releases, and fewer point
> releases, but that really depends on what we're doing. The more bug work we
> do, the more point releases; the more feature work, the more major releases.
> 
> I'm not sure that I'm calling for anything radically different than what has
> happened before, though.  Are you saying that in the past, what is now master
> would become 25.2? What then of features that are destined for 26 and not
> future versions of 25.x?
> 
>> You seem to be talking about something that never happened before in Emacs:
>> we never left any branch "for maintenance", we left it for good. Once the
>> decision was made that the next release will be from master, the branch was
>> abandoned, and never revisited except in emergency (e.g., if some
>> super-critical bug was reported in the last release that required an urgent
>> fix).
> 
> Yes, I may be talking about something that never happened before in Emacs, but
> it's been valuable on other projects, so I thought we might try it here as
> well.
> 
> That said, if a shift to master means no one ever fixes another bug on
> emacs-25, then there will be effectively no change; but the branch can still
> hang around for a while, and be available for point releases if necessary.
> 

I'd be happy with switching to a less-like release scheme and
incrementing a single number. Do minor releases even make sense anymore?


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply	[flat|nested] 120+ messages in thread

* Re: Next release from master
  2016-01-18 21:31         ` Daniel Colascione
@ 2016-01-18 21:43           ` John Wiegley
  2016-01-18 21:45             ` Daniel Colascione
  0 siblings, 1 reply; 120+ messages in thread
From: John Wiegley @ 2016-01-18 21:43 UTC (permalink / raw)
  To: Daniel Colascione; +Cc: Eli Zaretskii, monnier, emacs-devel

>>>>> Daniel Colascione <dancol@dancol.org> writes:

> I'd be happy with switching to a less-like release scheme and
> incrementing a single number. Do minor releases even make sense anymore?

I think so. If we only increment major numbers, there is no sense of when big
things happen, and or how much one should expect APIs to change between
releases.

-- 
John Wiegley                  GPG fingerprint = 4710 CF98 AF9B 327B B80F
http://newartisans.com                          60E1 46C4 BD1A 7AC1 4BA2



^ permalink raw reply	[flat|nested] 120+ messages in thread

* Re: Next release from master
  2016-01-18 21:43           ` John Wiegley
@ 2016-01-18 21:45             ` Daniel Colascione
  2016-01-18 21:51               ` John Wiegley
  2016-01-19  3:36               ` Eli Zaretskii
  0 siblings, 2 replies; 120+ messages in thread
From: Daniel Colascione @ 2016-01-18 21:45 UTC (permalink / raw)
  To: Eli Zaretskii, monnier, emacs-devel

[-- Attachment #1: Type: text/plain, Size: 617 bytes --]

On 01/18/2016 01:43 PM, John Wiegley wrote:
>>>>>> Daniel Colascione <dancol@dancol.org> writes:
> 
>> I'd be happy with switching to a less-like release scheme and
>> incrementing a single number. Do minor releases even make sense anymore?
> 
> I think so. If we only increment major numbers, there is no sense of when big
> things happen, and or how much one should expect APIs to change between
> releases.

We try to keep APIs backward-compatible anyway though. In a
single-number, time-based release system, we'd just announce that we're
deprecating some API, and some time later, actually do it.


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply	[flat|nested] 120+ messages in thread

* Re: Next release from master
  2016-01-18 21:45             ` Daniel Colascione
@ 2016-01-18 21:51               ` John Wiegley
  2016-01-18 22:15                 ` Stefan Monnier
  2016-01-19  3:36               ` Eli Zaretskii
  1 sibling, 1 reply; 120+ messages in thread
From: John Wiegley @ 2016-01-18 21:51 UTC (permalink / raw)
  To: Daniel Colascione; +Cc: Eli Zaretskii, monnier, emacs-devel

>>>>> Daniel Colascione <dancol@dancol.org> writes:

> We try to keep APIs backward-compatible anyway though. In a
> single-number, time-based release system, we'd just announce that we're
> deprecating some API, and some time later, actually do it.

Not quite the same, though, since people have to track down and read those
announcements to know what sort of impact release 29 will have on code that
was written again 26. It's fairly easy today to expect that something you
wrote for 24.x should be expected to work over the entire 24.x series; and
equally that you're likely to need to do some work to get it running it on
25.x.

A single increasing number, or a time value, removes all meaningful content
from version numbers. Having x.y at least communicates something about the
relative meanings of x and y.

-- 
John Wiegley                  GPG fingerprint = 4710 CF98 AF9B 327B B80F
http://newartisans.com                          60E1 46C4 BD1A 7AC1 4BA2



^ permalink raw reply	[flat|nested] 120+ messages in thread

* Re: Next release from master
  2016-01-18 21:51               ` John Wiegley
@ 2016-01-18 22:15                 ` Stefan Monnier
  2016-01-18 22:18                   ` John Wiegley
  0 siblings, 1 reply; 120+ messages in thread
From: Stefan Monnier @ 2016-01-18 22:15 UTC (permalink / raw)
  To: Daniel Colascione; +Cc: Eli Zaretskii, emacs-devel

> was written again 26. It's fairly easy today to expect that something you
> wrote for 24.x should be expected to work over the entire 24.x series;

Of course, I totally broke that promise with cl-lib first and
nadvice later.


        Stefan



^ permalink raw reply	[flat|nested] 120+ messages in thread

* Re: Next release from master
  2016-01-18 22:15                 ` Stefan Monnier
@ 2016-01-18 22:18                   ` John Wiegley
  0 siblings, 0 replies; 120+ messages in thread
From: John Wiegley @ 2016-01-18 22:18 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: Eli Zaretskii, Daniel Colascione, emacs-devel

>>>>> Stefan Monnier <monnier@IRO.UMontreal.CA> writes:

> Of course, I totally broke that promise with cl-lib first and nadvice later.

Yes, those would have definitely fallen into my "major release" category. :)

-- 
John Wiegley                  GPG fingerprint = 4710 CF98 AF9B 327B B80F
http://newartisans.com                          60E1 46C4 BD1A 7AC1 4BA2



^ permalink raw reply	[flat|nested] 120+ messages in thread

* Re: Next release from master
  2016-01-18 21:45             ` Daniel Colascione
  2016-01-18 21:51               ` John Wiegley
@ 2016-01-19  3:36               ` Eli Zaretskii
  1 sibling, 0 replies; 120+ messages in thread
From: Eli Zaretskii @ 2016-01-19  3:36 UTC (permalink / raw)
  To: Daniel Colascione; +Cc: monnier, emacs-devel

> From: Daniel Colascione <dancol@dancol.org>
> Date: Mon, 18 Jan 2016 13:45:45 -0800
> 
> >> I'd be happy with switching to a less-like release scheme and
> >> incrementing a single number. Do minor releases even make sense anymore?
> > 
> > I think so. If we only increment major numbers, there is no sense of when big
> > things happen, and or how much one should expect APIs to change between
> > releases.
> 
> We try to keep APIs backward-compatible anyway though. In a
> single-number, time-based release system, we'd just announce that we're
> deprecating some API, and some time later, actually do it.

For the developers, the numbering scheme is much less important than
the distinction between a bugfix and a feature releases, IMO.

We should also not forget the users and the downstream package
maintainers, perhaps the numbering scheme means something to them.  We
should consider that if we think to change the numbering.

In any case I think this is a very minor issue, so we should think
twice before starting another bike-shedding thread about that.



^ permalink raw reply	[flat|nested] 120+ messages in thread

* Re: Next release from master
  2016-01-17 23:04 ` Next release from master Stefan Monnier
  2016-01-17 23:10   ` John Wiegley
  2016-01-18 15:54   ` Eli Zaretskii
@ 2016-01-21 17:35   ` Glenn Morris
  2016-01-21 17:58     ` Eli Zaretskii
  2016-01-22  1:01     ` John Wiegley
  2 siblings, 2 replies; 120+ messages in thread
From: Glenn Morris @ 2016-01-21 17:35 UTC (permalink / raw)
  To: emacs-devel


Stefan Monnier wrote:

> IOW the next release form master should be called 26.1 and 25.N should
> be kept for a bugfix-only releases from the emacs-25 branch.
>
> It's not tremendously important, but the way we've done it in the past
> ended up with all kinds of minor inconveniences when we suddenly decide
> that we need another bugfix release: e.g. having to update all
> "make-obsolete" calls, not to mention all the "will be fixed in (or
> added to) Emacs-NN.MM" already posted in debbugs, mailing-lists,
> stackoverflow, forums, and newsgroups which suddenly become lies.

FWIW, I just want to echo the above (which reiterates the policy from
https://lists.gnu.org/archive/html/emacs-devel/2014-09/msg00872.html ,
which was accepted without much debate at the time).

In master, bugs are already being marked as fixed in 25.2, items as
changed in 25.2, etc. If after 25.1 is released, an unexpected rapid
bug-fix 25.2 release is needed from the emacs-25 branch, those
references have to be changed (where possible; obviously references
outside Emacs won't be changeable). The longer master claims to be the
precursor to 25.2, rather than 26.1, the more inconvenient this becomes.

Version numbers need to be expandable (to allow for unexpected bug-fix
releases) and predictable (to avoid having to change references to the
number). The major.minor scheme, where major is bumped every non-bugfix
release, allows for that.

This means that if all goes as planned: 26.1 might not contain any
"major" new features, and 25.2 will never exist. (Unless someone wants
to maintain a bug-fix release branch, but that's a separate topic. This
scheme allows for it, whereas the old one didn't. This scheme probably
also allows for more frequent releases, which is something people have
asked for, since an extra maintenance release can be made at any time
without disruption.) This might take a little bit of getting used to,
but eg the Linux kernel, Firefox, etc, have all stopped being so
conservative with version numbers.


Long story short: if agreed, please renumber master to 26.0.50 asap.




^ permalink raw reply	[flat|nested] 120+ messages in thread

* Re: Next release from master
  2016-01-21 17:35   ` Glenn Morris
@ 2016-01-21 17:58     ` Eli Zaretskii
  2016-02-04 17:39       ` Glenn Morris
  2016-01-22  1:01     ` John Wiegley
  1 sibling, 1 reply; 120+ messages in thread
From: Eli Zaretskii @ 2016-01-21 17:58 UTC (permalink / raw)
  To: Glenn Morris; +Cc: emacs-devel

> From: Glenn Morris <rgm@gnu.org>
> Date: Thu, 21 Jan 2016 12:35:15 -0500
> 
> FWIW, I just want to echo the above (which reiterates the policy from
> https://lists.gnu.org/archive/html/emacs-devel/2014-09/msg00872.html ,
> which was accepted without much debate at the time).

It was "accepted without much debate" because no debate was
acceptable:

  I'll stop listening to this thread starting right about now, but don't
  let that stop you wasting your time debating at length about this boring
  subject,

In any case, we are nowhere near Emacs 25.4, so whatever decision
was obviously correct when we were after 4 24.x releases is not
necessarily TRT now.

And I will echo myself once again: please let John have enough time to
make up his own mind on this.  He deserves that.

> Long story short: if agreed, please renumber master to 26.0.50 asap.

I see no reason to make any such decision ASAP.  (I also don't object
to doing it soon.)



^ permalink raw reply	[flat|nested] 120+ messages in thread

* Re: Next release from master
  2016-01-21 17:35   ` Glenn Morris
  2016-01-21 17:58     ` Eli Zaretskii
@ 2016-01-22  1:01     ` John Wiegley
  2016-01-22  1:28       ` Dmitry Gutov
                         ` (2 more replies)
  1 sibling, 3 replies; 120+ messages in thread
From: John Wiegley @ 2016-01-22  1:01 UTC (permalink / raw)
  To: emacs-devel

>>>>> Glenn Morris <rgm@gnu.org> writes:

> This means that if all goes as planned: 26.1 might not contain any "major"
> new features, and 25.2 will never exist.

I'm not sure yet what the best "role" for master is. Should it accumulate new
work toward 25.2 while we work on 25.1, or should it accumulate work toward
26.1?

I think that maybe we need three branches: one for current release work (such
as emacs-25); one towards the next release (master); and one towards the next
major release (possible name: "next"?).

When freezing for 25.2, we would merge master into emacs-25 and then work on
25.2 while 'master' becomes the place for future 25.3 changes.

At some point, we'll decide we don't want 25.x, but we really want to cut 26.
At that time 'next' should be merged into 'master', and sanity checked for. If
we are sane, then we cut 'emacs-26', master heads toward 26.2, next heads
toward 27, etc.

-- 
John Wiegley                  GPG fingerprint = 4710 CF98 AF9B 327B B80F
http://newartisans.com                          60E1 46C4 BD1A 7AC1 4BA2



^ permalink raw reply	[flat|nested] 120+ messages in thread

* Re: Next release from master
  2016-01-22  1:01     ` John Wiegley
@ 2016-01-22  1:28       ` Dmitry Gutov
  2016-01-22  1:42         ` Paul Eggert
  2016-01-22  1:46         ` John Wiegley
  2016-01-22  7:11       ` Eli Zaretskii
  2016-01-23  5:25       ` Stefan Monnier
  2 siblings, 2 replies; 120+ messages in thread
From: Dmitry Gutov @ 2016-01-22  1:28 UTC (permalink / raw)
  To: emacs-devel

On 01/22/2016 04:01 AM, John Wiegley wrote:

> I'm not sure yet what the best "role" for master is. Should it accumulate new
> work toward 25.2 while we work on 25.1, or should it accumulate work toward
> 26.1?

Why not get back to the simpler scheme? "New work" will go into the next 
major release (26.1, in this case), into master.

25.2 should only contain the minor tweaks and fixes we would accept into 
25.1 now (with feature freeze in effect), but don't manage to get into 
25.1 because of lack of time, or in case the respective bugs get filed 
too late (after 25.1's release).

So, 25.2 might not get released at all. But it probably will, and it'll 
be cut from emacs-25, like the branch's name implies.



^ permalink raw reply	[flat|nested] 120+ messages in thread

* Re: Next release from master
  2016-01-22  1:28       ` Dmitry Gutov
@ 2016-01-22  1:42         ` Paul Eggert
  2016-01-22  3:50           ` Xue Fuqiao
  2016-01-22  1:46         ` John Wiegley
  1 sibling, 1 reply; 120+ messages in thread
From: Paul Eggert @ 2016-01-22  1:42 UTC (permalink / raw)
  To: Dmitry Gutov, emacs-devel

On 01/21/2016 05:28 PM, Dmitry Gutov wrote:
> Why not get back to the simpler scheme?

I also don't see the need for three common development branches. Emacs 
developers are already spread pretty thin with two.

I know of a GNU project that has three such branches: Automake. The 
branches are called 'master', 'minor', and 'micro', and have roughly the 
three roles that John suggested. My own impression is that the extra 
complexity of the three branches discouraged contributors ("which branch 
should this patch go into?", that sort of thing).

Automake development is currently moribund.



^ permalink raw reply	[flat|nested] 120+ messages in thread

* Re: Next release from master
  2016-01-22  1:28       ` Dmitry Gutov
  2016-01-22  1:42         ` Paul Eggert
@ 2016-01-22  1:46         ` John Wiegley
  2016-01-22  1:48           ` Dmitry Gutov
  2016-01-22  7:26           ` Eli Zaretskii
  1 sibling, 2 replies; 120+ messages in thread
From: John Wiegley @ 2016-01-22  1:46 UTC (permalink / raw)
  To: Dmitry Gutov; +Cc: emacs-devel

>>>>> Dmitry Gutov <dgutov@yandex.ru> writes:

> Why not get back to the simpler scheme? "New work" will go into the next
> major release (26.1, in this case), into master.

What about changes that should go into 25.2, but before 25.1 is ready? Where
do those go? Or are you saying that once we've frozen for X.1, any and all
changes to be included in X are allowed, since they should all be stabilizing
changes?

-- 
John Wiegley                  GPG fingerprint = 4710 CF98 AF9B 327B B80F
http://newartisans.com                          60E1 46C4 BD1A 7AC1 4BA2



^ permalink raw reply	[flat|nested] 120+ messages in thread

* Re: Next release from master
  2016-01-22  1:46         ` John Wiegley
@ 2016-01-22  1:48           ` Dmitry Gutov
  2016-01-22  1:56             ` John Wiegley
  2016-01-22  7:26           ` Eli Zaretskii
  1 sibling, 1 reply; 120+ messages in thread
From: Dmitry Gutov @ 2016-01-22  1:48 UTC (permalink / raw)
  To: emacs-devel

On 01/22/2016 04:46 AM, John Wiegley wrote:
> Or are you saying that once we've frozen for X.1, any and all
> changes to be included in X are allowed, since they should all be stabilizing
> changes?

More or less, yes. No breaking changes in 25.2.



^ permalink raw reply	[flat|nested] 120+ messages in thread

* Re: Next release from master
  2016-01-22  1:48           ` Dmitry Gutov
@ 2016-01-22  1:56             ` John Wiegley
  2016-01-22  7:32               ` Eli Zaretskii
  0 siblings, 1 reply; 120+ messages in thread
From: John Wiegley @ 2016-01-22  1:56 UTC (permalink / raw)
  To: Dmitry Gutov; +Cc: Eli Zaretskii, emacs-devel

>>>>> Dmitry Gutov <dgutov@yandex.ru> writes:

>> Or are you saying that once we've frozen for X.1, any and all
>> changes to be included in X are allowed, since they should all be stabilizing
>> changes?

> More or less, yes. No breaking changes in 25.2.

What do you think, Eli? Should master become 26.1? What would this mean for
the likelihood of 25.2? Or do we just keep developing on emacs-25 until we get
tired of doing so?

-- 
John Wiegley                  GPG fingerprint = 4710 CF98 AF9B 327B B80F
http://newartisans.com                          60E1 46C4 BD1A 7AC1 4BA2



^ permalink raw reply	[flat|nested] 120+ messages in thread

* Re: Next release from master
  2016-01-22  1:42         ` Paul Eggert
@ 2016-01-22  3:50           ` Xue Fuqiao
  0 siblings, 0 replies; 120+ messages in thread
From: Xue Fuqiao @ 2016-01-22  3:50 UTC (permalink / raw)
  To: Paul Eggert; +Cc: Emacs-devel, Dmitry Gutov

On Fri, Jan 22, 2016 at 9:42 AM, Paul Eggert <eggert@cs.ucla.edu> wrote:
> On 01/21/2016 05:28 PM, Dmitry Gutov wrote:
>>
>> Why not get back to the simpler scheme?
>
> I also don't see the need for three common development branches. Emacs
> developers are already spread pretty thin with two.
>
> I know of a GNU project that has three such branches: Automake. The branches
> are called 'master', 'minor', and 'micro', and have roughly the three roles
> that John suggested. My own impression is that the extra complexity of the
> three branches discouraged contributors ("which branch should this patch go
> into?", that sort of thing).
>
> Automake development is currently moribund.

+1

I think the current process (as described in `admin/release-process' and
`admin/notes/versioning') is good enough.  More complexity will
discourage current/potential contributors.



^ permalink raw reply	[flat|nested] 120+ messages in thread

* Re: Next release from master
  2016-01-22  1:01     ` John Wiegley
  2016-01-22  1:28       ` Dmitry Gutov
@ 2016-01-22  7:11       ` Eli Zaretskii
  2016-01-23  5:25       ` Stefan Monnier
  2 siblings, 0 replies; 120+ messages in thread
From: Eli Zaretskii @ 2016-01-22  7:11 UTC (permalink / raw)
  To: John Wiegley; +Cc: emacs-devel

> From: John Wiegley <jwiegley@gmail.com>
> Date: Thu, 21 Jan 2016 17:01:50 -0800
> 
> I think that maybe we need three branches: one for current release work (such
> as emacs-25); one towards the next release (master); and one towards the next
> major release (possible name: "next"?).

IMO, we shouldn't start another branch before we successfully pass the
exam for "branches 101" -- being able to reliably handle 2 branches.
Right now, we are not there yet, witness the latest merge problems.

And if this is just to solve the problem of references to the future
release in defcustom and in make-obsolete calls, then we should be
better off introducing some script that would change all of them
automatically when we change our decisions about where should the next
release come from.



^ permalink raw reply	[flat|nested] 120+ messages in thread

* Re: Next release from master
  2016-01-22  1:46         ` John Wiegley
  2016-01-22  1:48           ` Dmitry Gutov
@ 2016-01-22  7:26           ` Eli Zaretskii
  2016-01-22  8:10             ` Michael Albinus
  1 sibling, 1 reply; 120+ messages in thread
From: Eli Zaretskii @ 2016-01-22  7:26 UTC (permalink / raw)
  To: John Wiegley; +Cc: emacs-devel, dgutov

> From: John Wiegley <jwiegley@gmail.com>
> Date: Thu, 21 Jan 2016 17:46:02 -0800
> Cc: emacs-devel@gnu.org
> 
> >>>>> Dmitry Gutov <dgutov@yandex.ru> writes:
> 
> > Why not get back to the simpler scheme? "New work" will go into the next
> > major release (26.1, in this case), into master.
> 
> What about changes that should go into 25.2, but before 25.1 is ready? Where
> do those go?

This problem should only exist with externally maintained packages
that are then merged into Emacs's repository.  If such a package has
faster release schedule, it might have such a problem because some
change not appropriate for the Emacs release branch doesn't want to
wait for the next major Emacs release.

But for core Emacs, this problem shouldn't exist, as long as we decide
that a release branch gets only bugfixes.  With that decision, any
change that does not fix a bug should by default go to master.  There
are 2 major exceptions from that rule:

  . Some bugfixes are too invasive/unsafe to have on the release
    branch.  But these cases are rare.

  . Some changes that don't fix bugs, but are clearly safe, can be
    allowed on the release branch.  Examples include changes in
    documentation (including doc strings), and addition of packages
    or minor features that have no impact on the rest of Emacs.



^ permalink raw reply	[flat|nested] 120+ messages in thread

* Re: Next release from master
  2016-01-22  1:56             ` John Wiegley
@ 2016-01-22  7:32               ` Eli Zaretskii
  2016-01-22  7:38                 ` John Wiegley
  0 siblings, 1 reply; 120+ messages in thread
From: Eli Zaretskii @ 2016-01-22  7:32 UTC (permalink / raw)
  To: John Wiegley; +Cc: emacs-devel, dgutov

> From: John Wiegley <jwiegley@gmail.com>
> Cc: emacs-devel@gnu.org, Eli Zaretskii <eliz@gnu.org>
> Date: Thu, 21 Jan 2016 17:56:03 -0800
> 
> >>>>> Dmitry Gutov <dgutov@yandex.ru> writes:
> 
> >> Or are you saying that once we've frozen for X.1, any and all
> >> changes to be included in X are allowed, since they should all be stabilizing
> >> changes?
> 
> > More or less, yes. No breaking changes in 25.2.
> 
> What do you think, Eli? Should master become 26.1?

If we decide that emacs-25 will only be used for fixing bugs, i.e. all
25.x releases after 25.1 will be bugfix releases, then yes, I think
master should become 26.1.

> What would this mean for the likelihood of 25.2?

It would mean 25.2, 25.3, etc. will fix bugs and generally add nothing
new.  It might also mean the release cycle on the emacs-25 branch
could be very fast (beyond 25.1), with just a small number of pretests
before the actual release.  We never tried to stick to this principle,
though, except with Emacs 24.5.



^ permalink raw reply	[flat|nested] 120+ messages in thread

* Re: Next release from master
  2016-01-22  7:32               ` Eli Zaretskii
@ 2016-01-22  7:38                 ` John Wiegley
  2016-01-22 14:59                   ` Barry Fishman
  0 siblings, 1 reply; 120+ messages in thread
From: John Wiegley @ 2016-01-22  7:38 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: emacs-devel, dgutov

>>>>> Eli Zaretskii <eliz@gnu.org> writes:

>> What do you think, Eli? Should master become 26.1?
> If we decide that emacs-25 will only be used for fixing bugs, i.e. all 25.x
> releases after 25.1 will be bugfix releases, then yes, I think master should
> become 26.1.

I actually sort of like this plan. Even when 25.1 is out, I'd love to spend
some time getting the bug list under control before we move on to brave new
features, if others are up for it.

-- 
John Wiegley                  GPG fingerprint = 4710 CF98 AF9B 327B B80F
http://newartisans.com                          60E1 46C4 BD1A 7AC1 4BA2



^ permalink raw reply	[flat|nested] 120+ messages in thread

* Re: Next release from master
  2016-01-22  7:26           ` Eli Zaretskii
@ 2016-01-22  8:10             ` Michael Albinus
  2016-01-22  8:25               ` Eli Zaretskii
  0 siblings, 1 reply; 120+ messages in thread
From: Michael Albinus @ 2016-01-22  8:10 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: John Wiegley, dgutov, emacs-devel

Eli Zaretskii <eliz@gnu.org> writes:

> This problem should only exist with externally maintained packages
> that are then merged into Emacs's repository.  If such a package has
> faster release schedule, it might have such a problem because some
> change not appropriate for the Emacs release branch doesn't want to
> wait for the next major Emacs release.

Counter example: kqueue integration. It was a candidate for 25.1, but
didn't reach it because it was one or two weeks too late.

That was two months ago ... and now, according to that plan, it would be
postponed until Emacs 26 appears. There's even no pretest for Emacs 25.1
until now.

Best regards, Michael.



^ permalink raw reply	[flat|nested] 120+ messages in thread

* Re: Next release from master
  2016-01-22  8:10             ` Michael Albinus
@ 2016-01-22  8:25               ` Eli Zaretskii
  2016-01-22  8:58                 ` Nicolas Petton
  0 siblings, 1 reply; 120+ messages in thread
From: Eli Zaretskii @ 2016-01-22  8:25 UTC (permalink / raw)
  To: Michael Albinus; +Cc: johnw, dgutov, emacs-devel

> From: Michael Albinus <michael.albinus@gmx.de>
> Cc: John Wiegley <johnw@gnu.org>,  emacs-devel@gnu.org,  dgutov@yandex.ru
> Date: Fri, 22 Jan 2016 09:10:53 +0100
> 
> Eli Zaretskii <eliz@gnu.org> writes:
> 
> > This problem should only exist with externally maintained packages
> > that are then merged into Emacs's repository.  If such a package has
> > faster release schedule, it might have such a problem because some
> > change not appropriate for the Emacs release branch doesn't want to
> > wait for the next major Emacs release.
> 
> Counter example: kqueue integration. It was a candidate for 25.1, but
> didn't reach it because it was one or two weeks too late.
> 
> That was two months ago ... and now, according to that plan, it would be
> postponed until Emacs 26 appears. There's even no pretest for Emacs 25.1
> until now.

Actually, we could backport the kqueue changes to emacs-25 branch,
IMO.  The pretest should be out in a couple of days, so if we hurry,
we can make the deadline.  John?



^ permalink raw reply	[flat|nested] 120+ messages in thread

* Re: Next release from master
  2016-01-22  8:25               ` Eli Zaretskii
@ 2016-01-22  8:58                 ` Nicolas Petton
  2016-01-22  9:02                   ` Michael Albinus
  0 siblings, 1 reply; 120+ messages in thread
From: Nicolas Petton @ 2016-01-22  8:58 UTC (permalink / raw)
  To: Eli Zaretskii, Michael Albinus; +Cc: johnw, emacs-devel, dgutov

[-- Attachment #1: Type: text/plain, Size: 293 bytes --]

Eli Zaretskii <eliz@gnu.org> writes:

> Actually, we could backport the kqueue changes to emacs-25 branch,
> IMO.  The pretest should be out in a couple of days, so if we hurry,
> we can make the deadline.  John?

I planned to release the first pretest tomorrow.  Do you need more time?

Nico

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 512 bytes --]

^ permalink raw reply	[flat|nested] 120+ messages in thread

* Re: Next release from master
  2016-01-22  8:58                 ` Nicolas Petton
@ 2016-01-22  9:02                   ` Michael Albinus
  2016-01-22 17:42                     ` John Wiegley
  0 siblings, 1 reply; 120+ messages in thread
From: Michael Albinus @ 2016-01-22  9:02 UTC (permalink / raw)
  To: Nicolas Petton; +Cc: Eli Zaretskii, johnw, emacs-devel, dgutov

Nicolas Petton <nicolas@petton.fr> writes:

> Eli Zaretskii <eliz@gnu.org> writes:
>
>> Actually, we could backport the kqueue changes to emacs-25 branch,
>> IMO.  The pretest should be out in a couple of days, so if we hurry,
>> we can make the deadline.  John?
>
> I planned to release the first pretest tomorrow.  Do you need more time?

I would need about 2 hours for backporting, after the OK.

> Nico

Best regards, Michael.



^ permalink raw reply	[flat|nested] 120+ messages in thread

* Re: Next release from master
  2016-01-22  7:38                 ` John Wiegley
@ 2016-01-22 14:59                   ` Barry Fishman
  2016-01-22 17:45                     ` John Wiegley
  0 siblings, 1 reply; 120+ messages in thread
From: Barry Fishman @ 2016-01-22 14:59 UTC (permalink / raw)
  To: emacs-devel


On 2016-01-21 23:38:58 -0800, John Wiegley wrote:
>>>>>> Eli Zaretskii <eliz@gnu.org> writes:
>>> What do you think, Eli? Should master become 26.1?
>> If we decide that emacs-25 will only be used for fixing bugs, i.e. all 25.x
>> releases after 25.1 will be bugfix releases, then yes, I think master should
>> become 26.1.
>
> I actually sort of like this plan. Even when 25.1 is out, I'd love to spend
> some time getting the bug list under control before we move on to brave new
> features, if others are up for it.

I think you all are making things more difficult for yourselves.

I think master should be the focus of release testings.  When bugs are
fixed in a release this would be done in master.  When things are ready
for release they are fast-forwarded in to the numbered release branch,
and tagged.  So the each release branch just has the complete,
development of that release.

Major changes would start with master and be branched into their own
initial development branch.  Ultimately they could be integrated into the
"next" branch.  This is where new ideas that you don't want to add to
the current release would be integrated.  Important bug fixes could be
merged in here, but this is not crucial.  The idea of the "next" branch
is to get new ideas all working together.

When you are ready for a new release, the "next" branch is merged into
"master".  This is important because it is the responsibility of the
people coding in fundamental changes to get them working in the baseline
emacs and not the other way around.  When you merging the last release into
the next, its the already tested bug fixes that flag changes, which
seems backwards.

One might even consider branching "master" into a temporary branch, then
merging in "next".  (Of even branching "next" as the new temporary
branch and rebasing with "master").  This way the initial merge fixes
can be performed prior to fast forwarding into "master" for general
testing, and master does not go though a period of major breakage.

After this major version update of master, security fixes would be added
to released branches without going through master.

In this way master is the testing branch, and people can rely on just
getting master if they want to help test Emacs.  The "next" branch is
were the latest features are added, possibly after they are tried and
evaluated in their own branches.

The important thing is that you want in mergers to focus on fixing new
features not old tested bug fixes.

--
Barry Fishman




^ permalink raw reply	[flat|nested] 120+ messages in thread

* Re: Next release from master
  2016-01-22  9:02                   ` Michael Albinus
@ 2016-01-22 17:42                     ` John Wiegley
  2016-01-22 19:02                       ` Michael Albinus
  0 siblings, 1 reply; 120+ messages in thread
From: John Wiegley @ 2016-01-22 17:42 UTC (permalink / raw)
  To: Michael Albinus; +Cc: Nicolas Petton, emacs-devel, Eli Zaretskii, dgutov

[-- Attachment #1: Type: text/plain, Size: 294 bytes --]

>>>>> Michael Albinus <michael.albinus@gmx.de> writes:

> I would need about 2 hours for backporting, after the OK.

You have the OK.

-- 
John Wiegley                  GPG fingerprint = 4710 CF98 AF9B 327B B80F
http://newartisans.com                          60E1 46C4 BD1A 7AC1 4BA2

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 629 bytes --]

^ permalink raw reply	[flat|nested] 120+ messages in thread

* Re: Next release from master
  2016-01-22 14:59                   ` Barry Fishman
@ 2016-01-22 17:45                     ` John Wiegley
  2016-01-22 21:27                       ` Barry Fishman
  0 siblings, 1 reply; 120+ messages in thread
From: John Wiegley @ 2016-01-22 17:45 UTC (permalink / raw)
  To: Barry Fishman; +Cc: emacs-devel

>>>>> Barry Fishman <barry@ecubist.org> writes:

> I think you all are making things more difficult for yourselves.

Hi Barry, I didn't really understand your e-mail; it sounded just as difficult
as anything else that's been proposed. Could you summarize what exactly would
make it an easier solution?

In a sense "emacs-25" is the current master for our developers, with "master"
collecting new features that we reject as too destabilizing for emacs-25. When
we are done with "stabilizing mode", we'll go back to "feature mode", and
master will resume its role as master.

-- 
John Wiegley                  GPG fingerprint = 4710 CF98 AF9B 327B B80F
http://newartisans.com                          60E1 46C4 BD1A 7AC1 4BA2



^ permalink raw reply	[flat|nested] 120+ messages in thread

* Re: Next release from master
  2016-01-22 17:42                     ` John Wiegley
@ 2016-01-22 19:02                       ` Michael Albinus
  2016-01-22 19:16                         ` Alan Mackenzie
  0 siblings, 1 reply; 120+ messages in thread
From: Michael Albinus @ 2016-01-22 19:02 UTC (permalink / raw)
  To: Nicolas Petton; +Cc: Eli Zaretskii, emacs-devel, dgutov

John Wiegley <jwiegley@gmail.com> writes:

>>>>>> Michael Albinus <michael.albinus@gmx.de> writes:
>
>> I would need about 2 hours for backporting, after the OK.
>
> You have the OK.

Done.

Best regards, Michael.



^ permalink raw reply	[flat|nested] 120+ messages in thread

* Re: Next release from master
  2016-01-22 19:02                       ` Michael Albinus
@ 2016-01-22 19:16                         ` Alan Mackenzie
  2016-01-22 21:22                           ` Eli Zaretskii
  0 siblings, 1 reply; 120+ messages in thread
From: Alan Mackenzie @ 2016-01-22 19:16 UTC (permalink / raw)
  To: Michael Albinus; +Cc: Nicolas Petton, dgutov, Eli Zaretskii, emacs-devel

Hello, Michael.

On Fri, Jan 22, 2016 at 08:02:02PM +0100, Michael Albinus wrote:
> John Wiegley <jwiegley@gmail.com> writes:

> >>>>>> Michael Albinus <michael.albinus@gmx.de> writes:

> >> I would need about 2 hours for backporting, after the OK.

> > You have the OK.

> Done.

What, the backporting or the entire build?

Or, more relevantly, is the emacs-25 branch currently open for bug
fixes, or is it "blocked" whilst you do the build?

> Best regards, Michael.

-- 
Alan Mackenzie (Nuremberg, Germany).



^ permalink raw reply	[flat|nested] 120+ messages in thread

* Re: Next release from master
  2016-01-22 19:16                         ` Alan Mackenzie
@ 2016-01-22 21:22                           ` Eli Zaretskii
  0 siblings, 0 replies; 120+ messages in thread
From: Eli Zaretskii @ 2016-01-22 21:22 UTC (permalink / raw)
  To: Alan Mackenzie; +Cc: nicolas, dgutov, michael.albinus, emacs-devel

> Date: Fri, 22 Jan 2016 19:16:19 +0000
> Cc: Nicolas Petton <nicolas@petton.fr>, Eli Zaretskii <eliz@gnu.org>,
>   emacs-devel@gnu.org, dgutov@yandex.ru
> From: Alan Mackenzie <acm@muc.de>
> 
> Hello, Michael.

I'm not him.

> > >> I would need about 2 hours for backporting, after the OK.
> 
> > > You have the OK.
> 
> > Done.
> 
> What, the backporting or the entire build?
> 
> Or, more relevantly, is the emacs-25 branch currently open for bug
> fixes, or is it "blocked" whilst you do the build?

No one (yet) does the build, and the branch is not, and will not be,
blocked.  Michael just backported the kqueue changes from master, so
that they will be available in Emacs 25.1, starting with the first
pretest.



^ permalink raw reply	[flat|nested] 120+ messages in thread

* Re: Next release from master
  2016-01-22 17:45                     ` John Wiegley
@ 2016-01-22 21:27                       ` Barry Fishman
  2016-01-23  1:47                         ` John Wiegley
  2016-01-23  5:17                         ` Stefan Monnier
  0 siblings, 2 replies; 120+ messages in thread
From: Barry Fishman @ 2016-01-22 21:27 UTC (permalink / raw)
  To: emacs-devel


On 2016-01-22 09:45:54 -0800, John Wiegley wrote:
>>>>>> Barry Fishman <barry@ecubist.org> writes:
>> I think you all are making things more difficult for yourselves.
>
> Hi Barry, I didn't really understand your e-mail; it sounded just as difficult
> as anything else that's been proposed. Could you summarize what exactly would
> make it an easier solution?
>
> In a sense "emacs-25" is the current master for our developers, with "master"
> collecting new features that we reject as too destabilizing for emacs-25. When
> we are done with "stabilizing mode", we'll go back to "feature mode", and
> master will resume its role as master.

We both seem to agree that the numbered "emacs-25" type branches track
the development of each release.

I suggested branches not have modes.  "Master" would always be where the
major testing occurs.  "Next" would be were new, possibly destabilizing
changes could be made.  Numbered branches would always contain the
history associated with that release.

When developers work on feature that are destabilizing, these get merged
into a "next" branch, hopefully when they have initially tested them in
there own local branch.  "Next" would be where integration testing is
done.

When "emacs-25" is considered complete, in the sense that the next
release would be in "emacs-26", The next branch goes though the process
of merging into master for final testing and bug fixes.  When ready it
it branched as the "emacs-26" release.

At worst this is just a relabeling of the current "master" to "next",
and move the "emacs-25" development to master.  But it makes the
mainline development process more linear.

"Master" would be where most of the bug testing is done, so people who want
to help out testing Emacs but are not major developers could go and
help.  General users finding bugs could see there fixes done there.
Being "master" it would be the easiest for people to track and build.

People working on next would be more seasoned developers involved
integrating new features and doing the more complex debugging.

No matter what approach is used, I think the major revision time merge
of "next" and "master", (or currently "emacs-25" into master) needs to
be done carefully.  I just think that what is going on in each branch
should the established, rather than a cycling though modes.

I also think that making the "master" branch less volatile and always
the current test area would help open up the bug fixing to a wider
audience who may have less Git skills.  People who hope to generally
contribute to bug fixing need only clone the Git repo and use that.

Irrespective of what the policy is, I think you will find most people
that check out Emacs build from the master branch.

--
Barry Fishman





^ permalink raw reply	[flat|nested] 120+ messages in thread

* Re: Next release from master
  2016-01-22 21:27                       ` Barry Fishman
@ 2016-01-23  1:47                         ` John Wiegley
  2016-01-25 10:38                           ` Alex Bennée
  2016-01-23  5:17                         ` Stefan Monnier
  1 sibling, 1 reply; 120+ messages in thread
From: John Wiegley @ 2016-01-23  1:47 UTC (permalink / raw)
  To: Barry Fishman; +Cc: emacs-devel

>>>>> Barry Fishman <barry@ecubist.org> writes:

> I suggested branches not have modes. "Master" would always be where the
> major testing occurs. "Next" would be were new, possibly destabilizing
> changes could be made. Numbered branches would always contain the history
> associated with that release.

Ah, I _think_ this is just what I was suggesting with "emacs-25", "master" and
"next" before, but it was felt that 3 branches is not yet better than two. So
I think we'll stick with two until we feel a more pressing need.

-- 
John Wiegley                  GPG fingerprint = 4710 CF98 AF9B 327B B80F
http://newartisans.com                          60E1 46C4 BD1A 7AC1 4BA2



^ permalink raw reply	[flat|nested] 120+ messages in thread

* Re: Next release from master
  2016-01-22 21:27                       ` Barry Fishman
  2016-01-23  1:47                         ` John Wiegley
@ 2016-01-23  5:17                         ` Stefan Monnier
  2016-01-23 17:09                           ` Barry Fishman
  1 sibling, 1 reply; 120+ messages in thread
From: Stefan Monnier @ 2016-01-23  5:17 UTC (permalink / raw)
  To: emacs-devel

> Irrespective of what the policy is, I think you will find most people
> that check out Emacs build from the master branch.

IIUC your proposal aims specifically at making sure that the focus of
work is always on "the same branch", so uses don't need to ask here
whether they should be using emacs-25 or master: we arrange our workflow
such that "master" corresponds to "the branch we currently want normal
users to test&debug".

I think this makes a lot of sense, but it basically requires always
having 2 active branches (master and next, currently corresponding to
emacs-25 and master), whereas until now we've always had longish periods
of time where we only have 1 active branch (which we call master but
would be called "next" in your proposal).


        Stefan




^ permalink raw reply	[flat|nested] 120+ messages in thread

* Re: Next release from master
  2016-01-22  1:01     ` John Wiegley
  2016-01-22  1:28       ` Dmitry Gutov
  2016-01-22  7:11       ` Eli Zaretskii
@ 2016-01-23  5:25       ` Stefan Monnier
  2 siblings, 0 replies; 120+ messages in thread
From: Stefan Monnier @ 2016-01-23  5:25 UTC (permalink / raw)
  To: emacs-devel

> I think that maybe we need three branches: one for current release work (such
> as emacs-25); one towards the next release (master); and one towards the next
> major release (possible name: "next"?).

AFAIK, we've never had a clear plan of what should be the next
"major" release.  IOW Emacs releases only become "major" because they
accumulate lots of "not so major" changes.

There has been exceptions, but for those we've usually ended up using
indeed an extra branch, but these branches were more like feature
branches than like "a branch for the next major release".  I think the
"unicode" branch was the only real exception.

I think this workflow (i.e. only 2 integration branches (a "stable" one
for bugfixes and a "devel" one for new features) plus feature branches
as needed for things which aren't quite ready yet for "devel") worked
pretty well.


        Stefan




^ permalink raw reply	[flat|nested] 120+ messages in thread

* Re: Next release from master
  2016-01-23  5:17                         ` Stefan Monnier
@ 2016-01-23 17:09                           ` Barry Fishman
  2016-01-23 20:06                             ` John Wiegley
  0 siblings, 1 reply; 120+ messages in thread
From: Barry Fishman @ 2016-01-23 17:09 UTC (permalink / raw)
  To: emacs-devel


On 2016-01-23 00:17:07 -0500, Stefan Monnier wrote:
>> Irrespective of what the policy is, I think you will find most people
>> that check out Emacs build from the master branch.
>
> IIUC your proposal aims specifically at making sure that the focus of
> work is always on "the same branch", so uses don't need to ask here
> whether they should be using emacs-25 or master: we arrange our workflow
> such that "master" corresponds to "the branch we currently want normal
> users to test&debug".
>
> I think this makes a lot of sense, but it basically requires always
> having 2 active branches (master and next, currently corresponding to
> emacs-25 and master), whereas until now we've always had longish periods
> of time where we only have 1 active branch (which we call master but
> would be called "next" in your proposal).

I was just following the approach somewhat like that used by some Linux
package managers.  For example with Debian the "master" branch would
work like Debian's "test" branch, and "next" like Debian's "unstable".
(Debian also has a "experimental" branch where the initial part of merges
are done, to keep unstable a bit less unstable.)  Like Emacs, changes
may be held back from "test" while a new release is being tested.

Its also close to the approach used by Git's own Git repository.

The "next" branch would where integration testing happens, and might be
badly broken for chunks of time.  A place where component maintainers make
sure that major structural changes are reflected in their components.

The "master" branch is where most of the final debugging takes place.

If "next" is active and "master" isn't, would be a time when some major
reworking is being performed.

It is more of a pipelined development:
    <new-feature-branch> -> "next" -> "master" -> <release>
or:
    <try-an-idea> -> <accept-and-put-into-general-use> -> <test> -> <release>

If this does not fit how Emacs development works, OK.  Its just an idea,
and I though worth consideration.  I think Emacs has always been great
software, and I certainly don't want to adversely effect that.

--
Barry Fishman




^ permalink raw reply	[flat|nested] 120+ messages in thread

* Re: Next release from master
  2016-01-23 17:09                           ` Barry Fishman
@ 2016-01-23 20:06                             ` John Wiegley
  2016-01-24  4:26                               ` Stefan Monnier
  0 siblings, 1 reply; 120+ messages in thread
From: John Wiegley @ 2016-01-23 20:06 UTC (permalink / raw)
  To: Barry Fishman; +Cc: emacs-devel

>>>>> Barry Fishman <barry@ecubist.org> writes:

> If this does not fit how Emacs development works, OK. Its just an idea, and
> I though worth consideration. I think Emacs has always been great software,
> and I certainly don't want to adversely effect that.

Hi Barry, I like your suggestion, and in fact it's what I'm more used to, but
we also must choose a methodology that works for the Emacs developers. Since a
few people have expressed the feeling that a 3-branch system would create
inertia for them, we'll stick with a 2-branch system (plus feature branches)
until it becomes an issue.

It's still an open question whether we should be using emacs-X+master, or
master+next, though. Our current activity is something of an experiment in
that regard, since in my experience (having gotten used to "next" branches), I
was unfamiliar with a 'master' that is periodically frozen with respect to
feature work.

-- 
John Wiegley                  GPG fingerprint = 4710 CF98 AF9B 327B B80F
http://newartisans.com                          60E1 46C4 BD1A 7AC1 4BA2



^ permalink raw reply	[flat|nested] 120+ messages in thread

* Re: Next release from master
  2016-01-23 20:06                             ` John Wiegley
@ 2016-01-24  4:26                               ` Stefan Monnier
  2016-01-24 14:11                                 ` Eli Zaretskii
  0 siblings, 1 reply; 120+ messages in thread
From: Stefan Monnier @ 2016-01-24  4:26 UTC (permalink / raw)
  To: emacs-devel

> It's still an open question whether we should be using emacs-X+master, or
> master+next, though. Our current activity is something of an experiment in
> that regard, since in my experience (having gotten used to "next" branches), I
> was unfamiliar with a 'master' that is periodically frozen with respect to
> feature work.

FWIW, here are the two main constraints we want to try and satisfy:
- coders should know where to install bug-fixes and new features.
- users should know where to get the current "stable bleeding-edge".
- "should know" means that it doesn't depend on whether we're in
  feature-freeze, in pretest, or anything else.
Currently, we don't satisfy those constraints, and Barry's suggestion
would seem to help in this regard.


        Stefan




^ permalink raw reply	[flat|nested] 120+ messages in thread

* Re: Next release from master
  2016-01-24  4:26                               ` Stefan Monnier
@ 2016-01-24 14:11                                 ` Eli Zaretskii
  2016-01-24 18:04                                   ` Stefan Monnier
  0 siblings, 1 reply; 120+ messages in thread
From: Eli Zaretskii @ 2016-01-24 14:11 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: emacs-devel

> From: Stefan Monnier <monnier@iro.umontreal.ca>
> Date: Sat, 23 Jan 2016 23:26:32 -0500
> 
> - coders should know where to install bug-fixes and new features.

The chances of them knowing this with any certainty close to 100% are
nil, IME.  Moreover, each branch we add only _adds_ to the uncertainty
and possible confusion.

The main problem here is that most coders don't follow this list and
emacs-diffs actively enough to be "in the know".  That problem cannot
be solved by procedures or by rearranging branches.

> - users should know where to get the current "stable bleeding-edge".

Same problems, for the same basic reasons.  (Also, I think "stable
bleeding-edge" is self-contradictory.)

> - "should know" means that it doesn't depend on whether we're in
>   feature-freeze, in pretest, or anything else.

That is an impossible requirement.  Even Barry's suggestion (which I
think is not right for Emacs, see below) doesn't promise that

> Currently, we don't satisfy those constraints, and Barry's suggestion
> would seem to help in this regard.

IMO, what Barry suggests cannot be done with our current resources and
level of proficiency.  Like many other similar proposals, it tries to
copy procedures from other projects, without considering the resources
each project has, relative to the project's size and the number and
interdependencies of distinct areas of expertise involved.



^ permalink raw reply	[flat|nested] 120+ messages in thread

* Re: Next release from master
  2016-01-24 14:11                                 ` Eli Zaretskii
@ 2016-01-24 18:04                                   ` Stefan Monnier
  2016-01-24 18:35                                     ` Eli Zaretskii
  0 siblings, 1 reply; 120+ messages in thread
From: Stefan Monnier @ 2016-01-24 18:04 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: emacs-devel

>> - coders should know where to install bug-fixes and new features.
> The main problem here is that most coders don't follow this list and
> emacs-diffs actively enough to be "in the know".  That problem cannot
> be solved by procedures or by rearranging branches.

That's the point: they shouldn't need to follow any list, because the
place where to put bug fixes should always be the same (and same for
new features).

> (Also, I think "stable bleeding-edge" is self-contradictory.)

Yes, it is, but that's what we want people to use for things like
`emacs-snapshot': when we're in feature freeze, they should use the
"bug-fix branch", and when we're not they should use the "new
features" branch.


        Stefan



^ permalink raw reply	[flat|nested] 120+ messages in thread

* Re: Next release from master
  2016-01-24 18:04                                   ` Stefan Monnier
@ 2016-01-24 18:35                                     ` Eli Zaretskii
  2016-01-25  2:20                                       ` Stefan Monnier
  0 siblings, 1 reply; 120+ messages in thread
From: Eli Zaretskii @ 2016-01-24 18:35 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: emacs-devel

> From: Stefan Monnier <monnier@iro.umontreal.ca>
> Cc: emacs-devel@gnu.org
> Date: Sun, 24 Jan 2016 13:04:40 -0500
> 
> the place where to put bug fixes should always be the same (and same
> for new features).

That's impossible.  Every development means bugs, so bugfixes will
happen on all active branches.  Some of them will be different, some
identical.  But all of the branches will get bugfixes.  And the same
for new features.

> > (Also, I think "stable bleeding-edge" is self-contradictory.)
> 
> Yes, it is, but that's what we want people to use for things like
> `emacs-snapshot': when we're in feature freeze, they should use the
> "bug-fix branch", and when we're not they should use the "new
> features" branch.

With 3 branches, there's no need for feature freeze, so I don't think
I understand how all this is relevant to the issue at hand.

Also, didn't you just say that "stable bleeding-edge" should always be
the same branch?  But here you seem to be saying that it's sometimes
this and sometimes that.



^ permalink raw reply	[flat|nested] 120+ messages in thread

* Re: Next release from master
  2016-01-24 18:35                                     ` Eli Zaretskii
@ 2016-01-25  2:20                                       ` Stefan Monnier
  0 siblings, 0 replies; 120+ messages in thread
From: Stefan Monnier @ 2016-01-25  2:20 UTC (permalink / raw)
  To: emacs-devel

>> the place where to put bug fixes should always be the same (and same
>> for new features).
> That's impossible.  Every development means bugs, so bugfixes will
> happen on all active branches.  Some of them will be different, some
> identical.  But all of the branches will get bugfixes.  And the same
> for new features.

Of course, some things are impossible.  But there are many cases where
it *is* possible.  In lots of cases, a given bug-fix can apply just as
well to `master' as to `emacs-25', and in that case it should go to
`emacs-25' currently whereas it should go to `master' when we're not in
the process of preparing a release.

How many times have we seen people install bug-fixes into `master'
without realizing that it should have gone to the release
branch instead?

Of course we can't completely avoid this problem, but part of the reason
is that we can't just tell them "always install your bug-fixes to the
release branch (when possible)".  Instead, they have to know the current
"mode of development".

> With 3 branches, there's no need for feature freeze, so I don't think
> I understand how all this is relevant to the issue at hand.

I'm not talking about a 3-branches case.  I'm just talking about what
I think would be desirable goals if we try to change the workflow.

> Also, didn't you just say that "stable bleeding-edge" should always be
> the same branch?  But here you seem to be saying that it's sometimes
> this and sometimes that.

Yes, it should be the same branch, but currently it's
sometimes one and sometimes another.


        Stefan




^ permalink raw reply	[flat|nested] 120+ messages in thread

* Re: Next release from master
  2016-01-23  1:47                         ` John Wiegley
@ 2016-01-25 10:38                           ` Alex Bennée
  2016-01-25 15:56                             ` Eli Zaretskii
  0 siblings, 1 reply; 120+ messages in thread
From: Alex Bennée @ 2016-01-25 10:38 UTC (permalink / raw)
  To: John Wiegley; +Cc: Barry Fishman, emacs-devel


John Wiegley <jwiegley@gmail.com> writes:

>>>>>> Barry Fishman <barry@ecubist.org> writes:
>
>> I suggested branches not have modes. "Master" would always be where the
>> major testing occurs. "Next" would be were new, possibly destabilizing
>> changes could be made. Numbered branches would always contain the history
>> associated with that release.
>
> Ah, I _think_ this is just what I was suggesting with "emacs-25", "master" and
> "next" before, but it was felt that 3 branches is not yet better than two. So
> I think we'll stick with two until we feel a more pressing need.

It really depends on what you want happening in the various branches. To
give another example from QEMU our strategy is:

* master is always the latest greatest
* as we approach release the criteria to commit to master gets tighter
  - soft feature freeze, no new features (only features that are "ready" get merged, maybe in stages)
  - hard feature freeze, any feature for this cycle needs to be in my then
  - release candidates, bug fixes only
  - release x.0

Once the x.0 release is done a stable branch is created for future .n
releases and the metaphorical flood gates opened for features that
weren't ready for the last cycle can go in.

Of course the control of this is helped by  the fact we have a lead
maintainer who merges pull requests from the subsystem maintainers
(much like the Linux kernel). Very few people have direct commit rights
to the master repository.

Would you have people with code that needs to go somewhere during a
stabilisation cycle? I would hope anything funky just lives on feature
branches until the next dev cycle opens.

--
Alex Bennée



^ permalink raw reply	[flat|nested] 120+ messages in thread

* Re: Next release from master
  2016-01-25 10:38                           ` Alex Bennée
@ 2016-01-25 15:56                             ` Eli Zaretskii
  0 siblings, 0 replies; 120+ messages in thread
From: Eli Zaretskii @ 2016-01-25 15:56 UTC (permalink / raw)
  To: Alex Bennée; +Cc: johnw, barry, emacs-devel

> From: Alex Bennée <alex.bennee@linaro.org>
> Date: Mon, 25 Jan 2016 10:38:23 +0000
> Cc: Barry Fishman <barry@ecubist.org>, emacs-devel@gnu.org
> 
> * master is always the latest greatest
> * as we approach release the criteria to commit to master gets tighter
>   - soft feature freeze, no new features (only features that are "ready" get 
> merged, maybe in stages)
>   - hard feature freeze, any feature for this cycle needs to be in my then
>   - release candidates, bug fixes only
>   - release x.0
>
> Once the x.0 release is done a stable branch is created for future .n
> releases and the metaphorical flood gates opened for features that
> weren't ready for the last cycle can go in.

That's how Emacs development used to work until several years ago.
Since then, we have made the feature freeze period on master much
shorter, and the release branch fork sooner, because there was
considerable pressure from contributors who didn't like the long
freeze.

> Of course the control of this is helped by  the fact we have a lead
> maintainer who merges pull requests from the subsystem maintainers
> (much like the Linux kernel). Very few people have direct commit rights
> to the master repository.

Which of course is anathema in Emacs development.  In fact, I don't
even think it could work in principle for Emacs, because of the number
of distinct areas of expertise which a single individual has no hope
of mastering to be an efficient gatekeeper.

> Would you have people with code that needs to go somewhere during a
> stabilisation cycle? I would hope anything funky just lives on feature
> branches until the next dev cycle opens.

People don't like too many feature branches, even if they are public,
because many times they want more than one feature in their hottest
latest Emacs.



^ permalink raw reply	[flat|nested] 120+ messages in thread

* Re: Next release from master
  2016-01-21 17:58     ` Eli Zaretskii
@ 2016-02-04 17:39       ` Glenn Morris
  2016-02-04 20:31         ` John Wiegley
  0 siblings, 1 reply; 120+ messages in thread
From: Glenn Morris @ 2016-02-04 17:39 UTC (permalink / raw)
  To: emacs-devel

Eli Zaretskii wrote:

> And I will echo myself once again: please let John have enough time to
> make up his own mind on this.

Two weeks have passed, so I wanted to check what the status of this was.
Perhaps the result was announced and I simply missed it.

>> Long story short: if agreed, please renumber master to 26.0.50 asap.
>
> I see no reason to make any such decision ASAP. 

Because as Stefan and I both tried to explain, the longer you wait to
make a change, the more references have to be changed. And some of them
will be outside our control.



^ permalink raw reply	[flat|nested] 120+ messages in thread

* Re: Next release from master
  2016-02-04 17:39       ` Glenn Morris
@ 2016-02-04 20:31         ` John Wiegley
  2016-02-08 13:41           ` Stefan Monnier
  0 siblings, 1 reply; 120+ messages in thread
From: John Wiegley @ 2016-02-04 20:31 UTC (permalink / raw)
  To: Glenn Morris; +Cc: emacs-devel

[-- Attachment #1: Type: text/plain, Size: 1001 bytes --]

>>>>> Glenn Morris <rgm@gnu.org> writes:

> Two weeks have passed, so I wanted to check what the status of this was.
> Perhaps the result was announced and I simply missed it.

The status is that our present course is to keep master as the "next version"
(25.2), while working in emacs-25 as the "upcoming release". When emacs-25 is
ready to release, we will tag it, merge master to it and work toward 25.2.

Features that are intended for 26 should live on a feature branch right now,
since people should mainly be using emacs-25, or if they are doing advance
work for the next release, master.

Whether we need a "third branch" to aggregate features for 26 is an open
question, and one that should only be answered by a feeling of pressing need.
Until then, we'll stick to two branches (25.1, 25.2) as our main areas of
focus.

-- 
John Wiegley                  GPG fingerprint = 4710 CF98 AF9B 327B B80F
http://newartisans.com                          60E1 46C4 BD1A 7AC1 4BA2

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 629 bytes --]

^ permalink raw reply	[flat|nested] 120+ messages in thread

* Re: Next release from master
  2016-02-04 20:31         ` John Wiegley
@ 2016-02-08 13:41           ` Stefan Monnier
  2016-02-08 15:54             ` John Wiegley
  0 siblings, 1 reply; 120+ messages in thread
From: Stefan Monnier @ 2016-02-08 13:41 UTC (permalink / raw)
  To: emacs-devel

> Features that are intended for 26 should live on a feature branch right now,
> since people should mainly be using emacs-25, or if they are doing advance
> work for the next release, master.

How should we know/decide if something is intended for 26.1 or for 25.2?


        Stefan




^ permalink raw reply	[flat|nested] 120+ messages in thread

* Re: Next release from master
  2016-02-08 13:41           ` Stefan Monnier
@ 2016-02-08 15:54             ` John Wiegley
  2016-02-08 16:47               ` Dmitry Gutov
  2016-02-09 14:57               ` Stefan Monnier
  0 siblings, 2 replies; 120+ messages in thread
From: John Wiegley @ 2016-02-08 15:54 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: emacs-devel

>>>>> Stefan Monnier <monnier@iro.umontreal.ca> writes:

>> Features that are intended for 26 should live on a feature branch right
>> now, since people should mainly be using emacs-25, or if they are doing
>> advance work for the next release, master.

> How should we know/decide if something is intended for 26.1 or for 25.2?

An excellent question. 25.x should not change APIs, without compelling reason;
adding new functionality might be OK, but depends on the scope.  The best rule
of thumb is: when in doubt, ask here.

-- 
John Wiegley                  GPG fingerprint = 4710 CF98 AF9B 327B B80F
http://newartisans.com                          60E1 46C4 BD1A 7AC1 4BA2



^ permalink raw reply	[flat|nested] 120+ messages in thread

* Re: Next release from master
  2016-02-08 15:54             ` John Wiegley
@ 2016-02-08 16:47               ` Dmitry Gutov
  2016-02-09 14:55                 ` John Wiegley
  2016-02-09 14:57               ` Stefan Monnier
  1 sibling, 1 reply; 120+ messages in thread
From: Dmitry Gutov @ 2016-02-08 16:47 UTC (permalink / raw)
  To: Stefan Monnier, emacs-devel

On 02/08/2016 05:54 PM, John Wiegley wrote:

> An excellent question. 25.x should not change APIs, without compelling reason;
> adding new functionality might be OK, but depends on the scope.

Doesn't the current master already contain some breaking changes?



^ permalink raw reply	[flat|nested] 120+ messages in thread

* Re: Next release from master
  2016-02-08 16:47               ` Dmitry Gutov
@ 2016-02-09 14:55                 ` John Wiegley
  2016-02-09 15:15                   ` Dmitry Gutov
  0 siblings, 1 reply; 120+ messages in thread
From: John Wiegley @ 2016-02-09 14:55 UTC (permalink / raw)
  To: Dmitry Gutov; +Cc: Stefan Monnier, emacs-devel

>>>>> Dmitry Gutov <dgutov@yandex.ru> writes:

> Doesn't the current master already contain some breaking changes?

Does it?  Can you tell me which changes have altered APIs?  If so, they do not
belong on master without reason.

-- 
John Wiegley                  GPG fingerprint = 4710 CF98 AF9B 327B B80F
http://newartisans.com                          60E1 46C4 BD1A 7AC1 4BA2



^ permalink raw reply	[flat|nested] 120+ messages in thread

* Re: Next release from master
  2016-02-08 15:54             ` John Wiegley
  2016-02-08 16:47               ` Dmitry Gutov
@ 2016-02-09 14:57               ` Stefan Monnier
  2016-02-09 22:38                 ` Lars Ingebrigtsen
  2016-02-10 16:41                 ` John Wiegley
  1 sibling, 2 replies; 120+ messages in thread
From: Stefan Monnier @ 2016-02-09 14:57 UTC (permalink / raw)
  To: emacs-devel

>> How should we know/decide if something is intended for 26.1 or for 25.2?
> An excellent question. 25.x should not change APIs, without compelling reason;
> adding new functionality might be OK, but depends on the scope.  The best rule
> of thumb is: when in doubt, ask here.

IOW, "master" is not really open for changes?


        Stefan




^ permalink raw reply	[flat|nested] 120+ messages in thread

* Re: Next release from master
  2016-02-09 14:55                 ` John Wiegley
@ 2016-02-09 15:15                   ` Dmitry Gutov
  0 siblings, 0 replies; 120+ messages in thread
From: Dmitry Gutov @ 2016-02-09 15:15 UTC (permalink / raw)
  To: Stefan Monnier, emacs-devel

On 02/09/2016 04:55 PM, John Wiegley wrote:

>> Doesn't the current master already contain some breaking changes?
>
> Does it?  Can you tell me which changes have altered APIs?  If so, they do not
> belong on master without reason.

Wouldn't those be all changes that had to be installed to master, but 
not to emacs-25?

If master is for 25.2, why would someone push changes to master now, but 
not emacs-25?



^ permalink raw reply	[flat|nested] 120+ messages in thread

* Re: Next release from master
  2016-02-09 14:57               ` Stefan Monnier
@ 2016-02-09 22:38                 ` Lars Ingebrigtsen
  2016-02-09 23:42                   ` Rasmus
  2016-02-10 16:40                   ` John Wiegley
  2016-02-10 16:41                 ` John Wiegley
  1 sibling, 2 replies; 120+ messages in thread
From: Lars Ingebrigtsen @ 2016-02-09 22:38 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: emacs-devel

Stefan Monnier <monnier@iro.umontreal.ca> writes:

>>> How should we know/decide if something is intended for 26.1 or for 25.2?
>> An excellent question. 25.x should not change APIs, without compelling reason;
>> adding new functionality might be OK, but depends on the scope.  The best rule
>> of thumb is: when in doubt, ask here.
>
> IOW, "master" is not really open for changes?

I think this is all kinda confusing.  In the past, we've had one release
branch (currently emacs-25) and one branch for development (of "normal",
uncontroversial features).  I think that worked very well.  If we're now
to be in a tripartite world of
release-branch/kinda-sorta-next-release-branch-which-is-called-master/new-feature-branch
world, that's both unusual and I would give us virtually no testing of
new-feature-branch (since most developers just live on "master").

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no



^ permalink raw reply	[flat|nested] 120+ messages in thread

* Re: Next release from master
  2016-02-09 22:38                 ` Lars Ingebrigtsen
@ 2016-02-09 23:42                   ` Rasmus
  2016-02-10  0:09                     ` Kaushal Modi
  2016-02-10 16:40                   ` John Wiegley
  1 sibling, 1 reply; 120+ messages in thread
From: Rasmus @ 2016-02-09 23:42 UTC (permalink / raw)
  To: emacs-devel

Lars Ingebrigtsen <larsi@gnus.org> writes:

> Stefan Monnier <monnier@iro.umontreal.ca> writes:
>
>>>> How should we know/decide if something is intended for 26.1 or for 25.2?
>>> An excellent question. 25.x should not change APIs, without compelling reason;
>>> adding new functionality might be OK, but depends on the scope.  The best rule
>>> of thumb is: when in doubt, ask here.
>>
>> IOW, "master" is not really open for changes?
>
> I think this is all kinda confusing.  In the past, we've had one release
> branch (currently emacs-25) and one branch for development (of "normal",
> uncontroversial features).  I think that worked very well.  If we're now
> to be in a tripartite world of
> release-branch/kinda-sorta-next-release-branch-which-is-called-master/new-feature-branch
> world, that's both unusual and I would give us virtually no testing of
> new-feature-branch (since most developers just live on "master").

I agree.  Feature branches are annoying from a testing point of view.  It
would have to be a very exciting branch before I’d bother to merge it...

Rasmus

-- 
This is the kind of tedious nonsense up with which I will not put




^ permalink raw reply	[flat|nested] 120+ messages in thread

* Re: Next release from master
  2016-02-09 23:42                   ` Rasmus
@ 2016-02-10  0:09                     ` Kaushal Modi
  2016-02-10  0:38                       ` Óscar Fuentes
  0 siblings, 1 reply; 120+ messages in thread
From: Kaushal Modi @ 2016-02-10  0:09 UTC (permalink / raw)
  To: Rasmus; +Cc: Emacs developers

[-- Attachment #1: Type: text/plain, Size: 87 bytes --]

+1 on adding new features to be tested to the master branch directly.

--
Kaushal Modi

[-- Attachment #2: Type: text/html, Size: 125 bytes --]

^ permalink raw reply	[flat|nested] 120+ messages in thread

* Re: Next release from master
  2016-02-10  0:09                     ` Kaushal Modi
@ 2016-02-10  0:38                       ` Óscar Fuentes
  2016-02-10  2:04                         ` Lars Ingebrigtsen
                                           ` (2 more replies)
  0 siblings, 3 replies; 120+ messages in thread
From: Óscar Fuentes @ 2016-02-10  0:38 UTC (permalink / raw)
  To: emacs-devel


>> I agree.  Feature branches are annoying from a testing point of view.  It
>> would have to be a very exciting branch before I’d bother to merge it...

You don't need to merge the branch, just do a checkout, build it and
try the feature.

> +1 on adding new features to be tested to the master branch directly.

What does "to be tested" mean here? Does it mean that the feature was
not thoroughly tested by the developer yet? Or is "testing" on the sense
of "let's see if the feature is interesting enough for definitive
inclusion into Emacs but now it is all over the place and removing it
would be a lot of work so it is here to stay"?

I've seen very successful projects that encourage developing features in
the main branch, but those projects have an extensive test suite and a
policy that dictates that any commit that introduces regressions is
fixed or reverted as soon as the regression is observed. Encouraging the
development of intrusive, potentially destabilizing or controversial
features (*) on the master branch of Emacs is a recipe for sinking
quality, hence discouraging people from using the development version,
hence causing the contrary effect of less testing for the whole project.

We have a DVCS. Let's use it for good.

* No problem with features that are mostly independent from the rest of
  the project.




^ permalink raw reply	[flat|nested] 120+ messages in thread

* Re: Next release from master
  2016-02-10  0:38                       ` Óscar Fuentes
@ 2016-02-10  2:04                         ` Lars Ingebrigtsen
  2016-02-10  2:42                           ` Óscar Fuentes
  2016-02-10  2:34                         ` Kaushal Modi
  2016-02-10 21:46                         ` Rasmus
  2 siblings, 1 reply; 120+ messages in thread
From: Lars Ingebrigtsen @ 2016-02-10  2:04 UTC (permalink / raw)
  To: Óscar Fuentes; +Cc: emacs-devel

Óscar Fuentes <ofv@wanadoo.es> writes:

> What does "to be tested" mean here? Does it mean that the feature was
> not thoroughly tested by the developer yet? Or is "testing" on the sense
> of "let's see if the feature is interesting enough for definitive
> inclusion into Emacs but now it is all over the place and removing it
> would be a lot of work so it is here to stay"?
>
> I've seen very successful projects that encourage developing features in
> the main branch, but those projects have an extensive test suite and a
> policy that dictates that any commit that introduces regressions is
> fixed or reverted as soon as the regression is observed.

Emacs is an editor.  When introducing new features, the trivial thing to
test is whether "it works".  The complicated thing, and that needs many
eyes, is whether something "works right".  Only humans can say whether a
feature feels like it's getting in the way of getting things done, or
whether it feels like the right thing to do.

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no



^ permalink raw reply	[flat|nested] 120+ messages in thread

* Re: Next release from master
  2016-02-10  0:38                       ` Óscar Fuentes
  2016-02-10  2:04                         ` Lars Ingebrigtsen
@ 2016-02-10  2:34                         ` Kaushal Modi
  2016-02-10  3:24                           ` Óscar Fuentes
  2016-02-10 21:46                         ` Rasmus
  2 siblings, 1 reply; 120+ messages in thread
From: Kaushal Modi @ 2016-02-10  2:34 UTC (permalink / raw)
  To: Óscar Fuentes; +Cc: Emacs developers

[-- Attachment #1: Type: text/plain, Size: 2406 bytes --]

On Tue, Feb 9, 2016 at 7:38 PM, Óscar Fuentes <ofv@wanadoo.es> wrote:

> What does "to be tested" mean here? Does it mean that the feature was
> not thoroughly tested by the developer yet?
>

I use the dev builds of emacs as my daily driver. I keep the emacs-25 and
master builds ready at all times. For now, I am using emacs-25 as my daily
driver, mainly to test it thoroughly before its public release. But if some
bug creeps in that thwarts my day-job work, then I can report that and
switch to using the master branch build till the bug gets fixed (this is
just an example, I haven't needed to do that yet).

I am able to use the emacs-25/master builds as my daily driver because the
developers are doing a great job of verifying their contributions, and also
because of the feedback for new additions received on this list. But it is
possible that some new addition breaks some arcane inbuilt/external package
I/someone else might be using. It's for that purpose that the more people
use the dev builds as their DD, the better.

Now if there were a separate branch for each new feature, it would cause
the following problems:
- Necessity to keep builds ready for different features to try in addition
to the master/emacs-<VER> branch
- If I stay on a feature branch for too long, I will miss out the fixes,
etc on the master branch. To prevent that, I might need to manually merge
that feature in the master branch locally and then build (that's probably
what Rasmus referred too).
- This results in frequent need to juggle between the feature branch
builds, master build and local merged build.



> Or is "testing" on the sense
> of "let's see if the feature is interesting enough for definitive
> inclusion into Emacs but now it is all over the place and removing it
> would be a lot of work so it is here to stay"?
>

Testing of a feature for its definitive inclusion can still be done on the
master branch (like we did for the multiple dir-locals.el feature). As more
people would be testing the same master branch build (instead of people
being split between master branch and XYZ feature branch), we would get a
better collection of opinions and feedback about that feature.

I am not a software developer. So these viewpoints should be taken as from
someone who simply likes to build and try out the latest emacs builds :)


--
Kaushal Modi

[-- Attachment #2: Type: text/html, Size: 3130 bytes --]

^ permalink raw reply	[flat|nested] 120+ messages in thread

* Re: Next release from master
  2016-02-10  2:04                         ` Lars Ingebrigtsen
@ 2016-02-10  2:42                           ` Óscar Fuentes
  2016-02-10  3:00                             ` Lars Ingebrigtsen
                                               ` (2 more replies)
  0 siblings, 3 replies; 120+ messages in thread
From: Óscar Fuentes @ 2016-02-10  2:42 UTC (permalink / raw)
  To: emacs-devel

Lars Ingebrigtsen <larsi@gnus.org> writes:

> Emacs is an editor.  When introducing new features, the trivial thing to
> test is whether "it works".  The complicated thing, and that needs many
> eyes, is whether something "works right".  Only humans can say whether a
> feature feels like it's getting in the way of getting things done, or
> whether it feels like the right thing to do.

Exactly. And developing features on `master' entirely bypasses the "it
works" phase, and that is a recipe for disaster. A dangerous change
should be on a branch until "it works" (*), then merged to see if it
"works right" (**). If the developer recruits some volunteers to see if
it "works right" for them before the merge, that's even better.

* An honest "it works", not a "QA is boring, let others do that."

** Some merges should require an approval by the maintainer. This is no
   different from how things are done now. See the cases of the xwidget
   branch, the ffi branch...




^ permalink raw reply	[flat|nested] 120+ messages in thread

* Re: Next release from master
  2016-02-10  2:42                           ` Óscar Fuentes
@ 2016-02-10  3:00                             ` Lars Ingebrigtsen
  2016-02-10  3:43                               ` Óscar Fuentes
  2016-02-10  3:28                             ` Alexis
  2016-02-11  3:35                             ` Daniel Colascione
  2 siblings, 1 reply; 120+ messages in thread
From: Lars Ingebrigtsen @ 2016-02-10  3:00 UTC (permalink / raw)
  To: Óscar Fuentes; +Cc: emacs-devel

Óscar Fuentes <ofv@wanadoo.es> writes:

> Exactly. And developing features on `master' entirely bypasses the "it
> works" phase, and that is a recipe for disaster.

Uhm, no?  Presumably everybody tests stuff before they push it.  No
work, no push.  And it's what we've been doing for...  how many decades?
Yet no disaster.

> ** Some merges should require an approval by the maintainer. This is no
>    different from how things are done now. See the cases of the xwidget
>    branch, the ffi branch...

Nobody is arguing against having separate branches for major new
features.  But most features aren't so major.

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no



^ permalink raw reply	[flat|nested] 120+ messages in thread

* Re: Next release from master
  2016-02-10  2:34                         ` Kaushal Modi
@ 2016-02-10  3:24                           ` Óscar Fuentes
  0 siblings, 0 replies; 120+ messages in thread
From: Óscar Fuentes @ 2016-02-10  3:24 UTC (permalink / raw)
  To: emacs-devel

Kaushal Modi <kaushal.modi@gmail.com> writes:

> On Tue, Feb 9, 2016 at 7:38 PM, Óscar Fuentes <ofv@wanadoo.es> wrote:
>
>> What does "to be tested" mean here? Does it mean that the feature was
>> not thoroughly tested by the developer yet?
>>
>
> I use the dev builds of emacs as my daily driver. I keep the emacs-25 and
> master builds ready at all times. For now, I am using emacs-25 as my daily
> driver, mainly to test it thoroughly before its public release. But if some
> bug creeps in that thwarts my day-job work, then I can report that and
> switch to using the master branch build till the bug gets fixed (this is
> just an example, I haven't needed to do that yet).

I'm using emacs-dev since many years ago. Given its complexity, it is
one of the most stable and reliable software packages I use. However,
throwing half-working, untested, intrusive changes into master would
change that for sure. For most part of the last year I was forced to use
an old build of emacs-dev because someone changed a package which I
depend on without a cursory testing. When the problem was reported,
there was no positive response from the developer. It was not practical
to revert the change because it was tangled with other unrelated changes
across multiple packages. The problem stayed for months until somebody
else who is familiar with the code fixed it enough to be usable again.
In the meantime, emacs-dev had at least one less tester.

This is a problem typical of projects who use the main branch as a
sandbox.

What keeps voluntary-based projects going is social conventions. Not
stepping onto anybody else's toes is one of the most basic of them. That
is helped by developing features in branches until one is honestly
convinced that merging will not introduce known or suspected problems
that harm other's work, and be quick to revert if some serious
inconvenience cannot be fixed right away (which is facilitated by having
a merge commit instead of multiple commits mixed with the rest of the VC
history.)

[snip]




^ permalink raw reply	[flat|nested] 120+ messages in thread

* Re: Next release from master
  2016-02-10  2:42                           ` Óscar Fuentes
  2016-02-10  3:00                             ` Lars Ingebrigtsen
@ 2016-02-10  3:28                             ` Alexis
  2016-02-10  3:33                               ` Dmitry Gutov
  2016-02-10 17:56                               ` Eli Zaretskii
  2016-02-11  3:35                             ` Daniel Colascione
  2 siblings, 2 replies; 120+ messages in thread
From: Alexis @ 2016-02-10  3:28 UTC (permalink / raw)
  To: Óscar Fuentes; +Cc: emacs-devel


Óscar Fuentes <ofv@wanadoo.es> writes:

> Exactly. And developing features on `master' entirely bypasses 
> the "it works" phase, and that is a recipe for disaster. A 
> dangerous change should be on a branch until "it works" (*), 
> then merged to see if it "works right" (**). If the developer 
> recruits some volunteers to see if it "works right" for them 
> before the merge, that's even better.
>
> * An honest "it works", not a "QA is boring, let others do 
> that."
>
> ** Some merges should require an approval by the 
> maintainer. This is no 
>    different from how things are done now. See the cases of the 
>    xwidget branch, the ffi branch...

1+

i would also like to suggest that part of the "it works" phase 
should involve writing (or at least attempting to write) proper 
documentation for the feature(s) involved. Yes, the "works right" 
phase might well involve modifying some of that documentation, but 
proper documentation is important to help people understand how 
the feature is intended to work and/or be used.

Further, it seems to me that Eli is ending up having to write a 
lot of documentation of other people's code, which i feel is 
unfair on him. One of the many things i love about GNU Emacs is 
the comprehensive documentation, which has greatly facilitated my 
ability to customise it and write ELisp packages for use by 
others. If GNU Emacs being "self-documenting" is a headline 
feature, then documentation should be an integral part of code 
development, not Somebody Else's Problem, where "Somebody" is Eli.


Alexis.



^ permalink raw reply	[flat|nested] 120+ messages in thread

* Re: Next release from master
  2016-02-10  3:28                             ` Alexis
@ 2016-02-10  3:33                               ` Dmitry Gutov
  2016-02-10  4:02                                 ` Óscar Fuentes
                                                   ` (2 more replies)
  2016-02-10 17:56                               ` Eli Zaretskii
  1 sibling, 3 replies; 120+ messages in thread
From: Dmitry Gutov @ 2016-02-10  3:33 UTC (permalink / raw)
  To: Alexis, Óscar Fuentes; +Cc: emacs-devel

On 02/10/2016 05:28 AM, Alexis wrote:

> Further, it seems to me that Eli is ending up having to write a lot of
> documentation of other people's code, which i feel is unfair on him. One
> of the many things i love about GNU Emacs is the comprehensive
> documentation, which has greatly facilitated my ability to customise it
> and write ELisp packages for use by others. If GNU Emacs being
> "self-documenting" is a headline feature, then documentation should be
> an integral part of code development, not Somebody Else's Problem, where
> "Somebody" is Eli.

I'm sure Eli (and the rest of us) would be very happy to see you help 
with documentation.



^ permalink raw reply	[flat|nested] 120+ messages in thread

* Re: Next release from master
  2016-02-10  3:00                             ` Lars Ingebrigtsen
@ 2016-02-10  3:43                               ` Óscar Fuentes
  2016-02-10  4:01                                 ` Lars Ingebrigtsen
  0 siblings, 1 reply; 120+ messages in thread
From: Óscar Fuentes @ 2016-02-10  3:43 UTC (permalink / raw)
  To: emacs-devel

Lars Ingebrigtsen <larsi@gnus.org> writes:

> Óscar Fuentes <ofv@wanadoo.es> writes:
>
>> Exactly. And developing features on `master' entirely bypasses the "it
>> works" phase, and that is a recipe for disaster.
>
> Uhm, no?  Presumably everybody tests stuff before they push it.

Yes, presumably... see my response to Kaushal Modi.

> No work, no push. And it's what we've been doing for... how many
> decades? Yet no disaster.

The Emacs developer community is outstanding by their quality. We also
have a few individuals who are well known for their bug-busting
habilities (and for devoting countless hours to that task.) We also have
looong pre-test and test phases, which acts as some type of hygiene that
prevents the project quality from sinking below certain line.

I'm not proposing a change on how Emacs is developed, I'm opposing the
proposed changed that consists on using `master' for changes that are
multi-commit, potentially destabilizing, and intrusive. That is, changes
that have a serious potential for annoying the community while being
hard to revert at the same time.

>> ** Some merges should require an approval by the maintainer. This is no
>>    different from how things are done now. See the cases of the xwidget
>>    branch, the ffi branch...
>
> Nobody is arguing against having separate branches for major new
> features.  But most features aren't so major.

Nor I'm arguin for having branches for minor changes, neither have I a
problem at all with you developing Gnus in `master' (speaking as a Gnus
user.)




^ permalink raw reply	[flat|nested] 120+ messages in thread

* Re: Next release from master
  2016-02-10  3:43                               ` Óscar Fuentes
@ 2016-02-10  4:01                                 ` Lars Ingebrigtsen
  0 siblings, 0 replies; 120+ messages in thread
From: Lars Ingebrigtsen @ 2016-02-10  4:01 UTC (permalink / raw)
  To: Óscar Fuentes; +Cc: emacs-devel

Óscar Fuentes <ofv@wanadoo.es> writes:

> I'm not proposing a change on how Emacs is developed, I'm opposing the
> proposed changed that consists on using `master' for changes that are
> multi-commit, potentially destabilizing, and intrusive. That is, changes
> that have a serious potential for annoying the community while being
> hard to revert at the same time.

I don't think anybody is suggesting that.  :-) I think this all started
with "how come we're changing the way we're supposed to develop?"  I.e.,
having three "must have" branches that we're supposed to be working on
instead of two, as we've had for all these years.

(And in addition, there are always feature branches for big, complex,
breaky stuff.  See xwidget, ffi, async-dns, etc.)

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no



^ permalink raw reply	[flat|nested] 120+ messages in thread

* Re: Next release from master
  2016-02-10  3:33                               ` Dmitry Gutov
@ 2016-02-10  4:02                                 ` Óscar Fuentes
  2016-02-10  4:13                                   ` Dmitry Gutov
  2016-02-10  4:04                                 ` Alexis
  2016-02-10 17:58                                 ` Eli Zaretskii
  2 siblings, 1 reply; 120+ messages in thread
From: Óscar Fuentes @ 2016-02-10  4:02 UTC (permalink / raw)
  To: emacs-devel

Dmitry Gutov <dgutov@yandex.ru> writes:

> I'm sure Eli (and the rest of us) would be very happy to see you help
> with documentation.

This response would be very apropos in case Alexis contributed some
feature without documentation.

IMO it is very reasonable to require documenting the contributed
changes. Without that, code reviews and testing are much harder. If the
documentation is not correct English, as long as it is understandable
with some effort, fixing that is easier (*) than reading the code,
understanding its purpose and writing documentation while hoping that
you are describing what the contributor actually intended to implement.

* And something you can expect a bystander to do, hence justifying the
  "patches welcome" standard retort.




^ permalink raw reply	[flat|nested] 120+ messages in thread

* Re: Next release from master
  2016-02-10  3:33                               ` Dmitry Gutov
  2016-02-10  4:02                                 ` Óscar Fuentes
@ 2016-02-10  4:04                                 ` Alexis
  2016-02-10  4:23                                   ` Dmitry Gutov
  2016-02-10 17:58                                 ` Eli Zaretskii
  2 siblings, 1 reply; 120+ messages in thread
From: Alexis @ 2016-02-10  4:04 UTC (permalink / raw)
  To: Dmitry Gutov; +Cc: Óscar Fuentes, jwiegley, emacs-devel


Dmitry Gutov <dgutov@yandex.ru> writes:

> I'm sure Eli (and the rest of us) would be very happy to see you 
> help with documentation.

i'm sorry Dmitry, but i don't agree with the notion that people 
who don't understand the code they're documenting should be the 
first ones to document it. :-P (Though of course, they can 
certainly help clarify things they feel aren't clear in /existing 
documentation.) i don't expect others to document the code of the 
packages i've written, because:

(a) others won't necessarily know what i /intended/ by the code, 
they can only work from what the code /seems/ to do. That makes it 
more difficult for non-me documenters to guess whether something 
is a bug or "working as intended".

(b) i don't assume that my time is much more valuable than other 
people's. i don't think it's a net gain for the Emacs community to 
have somebody else spending, say, an hour or two coming to grips 
with code for the purposes of documenting what they /think/ is 
going on, rather than me spending 5-10 minutes just writing the 
documentation in the first place.

(c) at a basic level, my point was not "i have a problem with Eli 
being the main person writing documentation" so much as "i have a 
problem with the fact that it's /necessary/ for Eli, /or anyone 
else/, to be having to write documentation for code they haven't 
written, because the developers of the code in question have 
treated documentation as Somebody Else's Problem". If you think 
that it's not important to provide documentation for the code you 
write, then okay, but that's not a position i share.

Having said all that, i'd be interested to hear John's thoughts on 
this matter (who i've cc'd), and will follow his lead on this.


Alexis.



^ permalink raw reply	[flat|nested] 120+ messages in thread

* Re: Next release from master
  2016-02-10  4:02                                 ` Óscar Fuentes
@ 2016-02-10  4:13                                   ` Dmitry Gutov
  2016-02-10  4:51                                     ` Alexis
                                                       ` (2 more replies)
  0 siblings, 3 replies; 120+ messages in thread
From: Dmitry Gutov @ 2016-02-10  4:13 UTC (permalink / raw)
  To: Óscar Fuentes, emacs-devel

On 02/10/2016 06:02 AM, Óscar Fuentes wrote:

> This response would be very apropos in case Alexis contributed some
> feature without documentation.

My sole (admittedly passive-aggressive) point is, if someone's not 
helping with code or documentation, they should get no vote on what the 
process should be.

> IMO it is very reasonable to require documenting the contributed
> changes. Without that, code reviews and testing are much harder.

Not if the feature has appropriate docstrings and header commentary.

As far as I'm concerned, the manual is a separate universe which 
requires additional knowledge to contribute to.

> If the
> documentation is not correct English, as long as it is understandable
> with some effort, fixing that is easier (*) than reading the code,
> understanding its purpose and writing documentation while hoping that
> you are describing what the contributor actually intended to implement.

Hopefully, one doesn't have to read the code to translate the docstrings 
into the manual (AFAICT, Eli tried not to). The person who does the 
documentation also can ask questions.



^ permalink raw reply	[flat|nested] 120+ messages in thread

* Re: Next release from master
  2016-02-10  4:04                                 ` Alexis
@ 2016-02-10  4:23                                   ` Dmitry Gutov
  2016-02-10 18:07                                     ` Eli Zaretskii
  0 siblings, 1 reply; 120+ messages in thread
From: Dmitry Gutov @ 2016-02-10  4:23 UTC (permalink / raw)
  To: Alexis; +Cc: Óscar Fuentes, jwiegley, emacs-devel

On 02/10/2016 06:04 AM, Alexis wrote:

> (c) at a basic level, my point was not "i have a problem with Eli being
> the main person writing documentation" so much as "i have a problem with
> the fact that it's /necessary/ for Eli, /or anyone else/, to be having
> to write documentation for code they haven't written, because the
> developers of the code in question have treated documentation as
> Somebody Else's Problem".

Of course it's a problem. And I would be happy to have to write my own 
documentation, provided nobody is expecting to see the next Emacs 
release anytime soon.

Unfortunately, since there are so few core developers, or people who 
take responsibility for various core packages, some of the time I could 
have used to work on the said documentation, I had to spend on e.g. 
fixing stuff in etags.el, or pieces of VC left broken by ESR's latest 
changes.

> If you think that it's not important to
> provide documentation for the code you write, then okay, but that's not
> a position i share.

Not as important as working code, or fewer bugs in Emacs in general.



^ permalink raw reply	[flat|nested] 120+ messages in thread

* Re: Next release from master
  2016-02-10  4:13                                   ` Dmitry Gutov
@ 2016-02-10  4:51                                     ` Alexis
  2016-02-10  5:28                                       ` Dmitry Gutov
  2016-02-10  4:58                                     ` Óscar Fuentes
  2016-02-10 18:03                                     ` Eli Zaretskii
  2 siblings, 1 reply; 120+ messages in thread
From: Alexis @ 2016-02-10  4:51 UTC (permalink / raw)
  To: Dmitry Gutov; +Cc: Óscar Fuentes, jwiegley, emacs-devel


Dmitry Gutov <dgutov@yandex.ru> writes:

> On 02/10/2016 06:02 AM, Óscar Fuentes wrote:
>
>> This response would be very apropos in case Alexis contributed 
>> some feature without documentation.
>
> My sole (admittedly passive-aggressive) point is, if someone's 
> not  helping with code or documentation, they should get no vote 
> on what the  process should be.

Even if i am affected by the process resulting in poor or no 
documentation, such that it's very difficult for me to actually 
use the (possibly new) feature(s)? (Cf. the documentation for the 
`pcase` features - even people who are far more accomplished 
developers than me have been having trouble understanding what's 
going on, such that they're disinclined to use it.)

i feel that, as both a user of GNU Emacs and a developer of 
packages /for/ GNU Emacs (admittedly not packages currently in 
core), i get to at least voice my opinion about process issues 
that i feel are affecting me. In turn, yes, the people doing the 
work on core GNU Emacs get to say to me "Okay, well, we're not 
going to change the process". i /don't/, however, feel it's 
appropriate to suggest that users and non-core developers aren't 
even allowed to express their concerns. But again, i'll accept 
John's position on this, and won't say anything more for now.


Alexis.



^ permalink raw reply	[flat|nested] 120+ messages in thread

* Re: Next release from master
  2016-02-10  4:13                                   ` Dmitry Gutov
  2016-02-10  4:51                                     ` Alexis
@ 2016-02-10  4:58                                     ` Óscar Fuentes
  2016-02-10  5:07                                       ` Lars Ingebrigtsen
                                                         ` (3 more replies)
  2016-02-10 18:03                                     ` Eli Zaretskii
  2 siblings, 4 replies; 120+ messages in thread
From: Óscar Fuentes @ 2016-02-10  4:58 UTC (permalink / raw)
  To: emacs-devel

Dmitry Gutov <dgutov@yandex.ru> writes:

> My sole (admittedly passive-aggressive) point is, if someone's not
> helping with code or documentation, they should get no vote on what
> the process should be.

Alexis responded to that, and I agree with him.

>> IMO it is very reasonable to require documenting the contributed
>> changes. Without that, code reviews and testing are much harder.
>
> Not if the feature has appropriate docstrings and header commentary.

I was talking about docstrings and, possibly, NEWS too.

> As far as I'm concerned, the manual is a separate universe which
> requires additional knowledge to contribute to.

This is reasonable, as long as we have people willing to work on it and
that doesn't detract them from other more valuable work they would do
instead.

[snip]




^ permalink raw reply	[flat|nested] 120+ messages in thread

* Re: Next release from master
  2016-02-10  4:58                                     ` Óscar Fuentes
@ 2016-02-10  5:07                                       ` Lars Ingebrigtsen
  2016-02-10  5:16                                         ` Dmitry Gutov
  2016-02-10 18:09                                         ` Eli Zaretskii
  2016-02-10  5:08                                       ` Alexis
                                                         ` (2 subsequent siblings)
  3 siblings, 2 replies; 120+ messages in thread
From: Lars Ingebrigtsen @ 2016-02-10  5:07 UTC (permalink / raw)
  To: Óscar Fuentes; +Cc: emacs-devel

Óscar Fuentes <ofv@wanadoo.es> writes:

>> As far as I'm concerned, the manual is a separate universe which
>> requires additional knowledge to contribute to.

Texinfo does take a while to get used to, yes...

> This is reasonable, as long as we have people willing to work on it and
> that doesn't detract them from other more valuable work they would do
> instead.

Yeah.  But I think people should do their best to document any changes
they do, and I kinda sorta feel that "their best" might be at a higher
level than we're observing now.  :-)

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no



^ permalink raw reply	[flat|nested] 120+ messages in thread

* Re: Next release from master
  2016-02-10  4:58                                     ` Óscar Fuentes
  2016-02-10  5:07                                       ` Lars Ingebrigtsen
@ 2016-02-10  5:08                                       ` Alexis
  2016-02-10  5:10                                       ` Dmitry Gutov
  2016-02-10 18:08                                       ` Eli Zaretskii
  3 siblings, 0 replies; 120+ messages in thread
From: Alexis @ 2016-02-10  5:08 UTC (permalink / raw)
  To: Óscar Fuentes; +Cc: emacs-devel


Óscar Fuentes <ofv@wanadoo.es> writes:

> Alexis responded to that, and I agree with him.

(It's "her", but thanks. :-) )


Alexis.



^ permalink raw reply	[flat|nested] 120+ messages in thread

* Re: Next release from master
  2016-02-10  4:58                                     ` Óscar Fuentes
  2016-02-10  5:07                                       ` Lars Ingebrigtsen
  2016-02-10  5:08                                       ` Alexis
@ 2016-02-10  5:10                                       ` Dmitry Gutov
  2016-02-10 18:08                                       ` Eli Zaretskii
  3 siblings, 0 replies; 120+ messages in thread
From: Dmitry Gutov @ 2016-02-10  5:10 UTC (permalink / raw)
  To: Óscar Fuentes, emacs-devel

On 02/10/2016 06:58 AM, Óscar Fuentes wrote:

> I was talking about docstrings and, possibly, NEWS too.

I'm pretty sure Alexis meant the manual. That the place where Eli ended 
up writing documentation for multiple other people's code, including the 
recently-mentioned pcase documentation.



^ permalink raw reply	[flat|nested] 120+ messages in thread

* Re: Next release from master
  2016-02-10  5:07                                       ` Lars Ingebrigtsen
@ 2016-02-10  5:16                                         ` Dmitry Gutov
  2016-02-10 18:09                                           ` Eli Zaretskii
  2016-02-10 18:09                                         ` Eli Zaretskii
  1 sibling, 1 reply; 120+ messages in thread
From: Dmitry Gutov @ 2016-02-10  5:16 UTC (permalink / raw)
  To: Lars Ingebrigtsen, Óscar Fuentes; +Cc: emacs-devel

On 02/10/2016 07:07 AM, Lars Ingebrigtsen wrote:

> Texinfo does take a while to get used to, yes...

Not just Texinfo, but the existing organization and contents of the 
manuals. Not all of us are intimately familiar with them.

> Yeah.  But I think people should do their best to document any changes
> they do, and I kinda sorta feel that "their best" might be at a higher
> level than we're observing now.  :-)

Probably. But I'm sure all of us can point out (different) areas where 
"people" aren't doing their absolute best.



^ permalink raw reply	[flat|nested] 120+ messages in thread

* Re: Next release from master
  2016-02-10  4:51                                     ` Alexis
@ 2016-02-10  5:28                                       ` Dmitry Gutov
  2016-02-10 18:10                                         ` Eli Zaretskii
  0 siblings, 1 reply; 120+ messages in thread
From: Dmitry Gutov @ 2016-02-10  5:28 UTC (permalink / raw)
  To: Alexis; +Cc: Óscar Fuentes, jwiegley, emacs-devel

On 02/10/2016 06:51 AM, Alexis wrote:

> Even if i am affected by the process resulting in poor or no
> documentation, such that it's very difficult for me to actually use the
> (possibly new) feature(s)? (Cf. the documentation for the `pcase`
> features - even people who are far more accomplished developers than me
> have been having trouble understanding what's going on, such that
> they're disinclined to use it.)

I'd draw the line between reporting existing problems with documentation 
(like filing bugs "hey, pcase isn't documented!", or "I don't understand 
what the documentation says"), which all users are encouraged to do, 
versus saying how the developers should work.

That's just my standpoint, though.

> i feel that, as both a user of GNU Emacs and a developer of packages
> /for/ GNU Emacs (admittedly not packages currently in core), i get to at
> least voice my opinion about process issues that i feel are affecting
> me.

IMO, process isn't our main problem now.



^ permalink raw reply	[flat|nested] 120+ messages in thread

* Re: Next release from master
  2016-02-09 22:38                 ` Lars Ingebrigtsen
  2016-02-09 23:42                   ` Rasmus
@ 2016-02-10 16:40                   ` John Wiegley
  2016-02-10 17:18                     ` Dmitry Gutov
  1 sibling, 1 reply; 120+ messages in thread
From: John Wiegley @ 2016-02-10 16:40 UTC (permalink / raw)
  To: Lars Ingebrigtsen; +Cc: Stefan Monnier, emacs-devel

[-- Attachment #1: Type: text/plain, Size: 2288 bytes --]

>>>>> Lars Ingebrigtsen <larsi@gnus.org> writes:

> I think this is all kinda confusing. In the past, we've had one release
> branch (currently emacs-25) and one branch for development (of "normal",
> uncontroversial features). I think that worked very well. If we're now to be
> in a tripartite world of ... world, that's both unusual and I would give us
> virtually no testing of new-feature-branch (since most developers just live
> on "master").

If we allow committing of "any new code" to master, how do we determine what
should go into 25.2? I think the only reasonable answer to that question would
be that master should become 26, which I'm not ready for yet. 25.x should go
through a few more rounds of stabilization before we jump on 26 features.

Thus, commits on master are commits toward the next release, which in this
case will be 25.2, and so shouldn't change APIs.

I'm fine with the creation of a "next" branch to accumulate 26 features that
either don't deserve a feature branch, or where the committer doesn't want to
create a separate feature branch. However, developers wouldn't focus on that
branch, but rather keep to emacs-25 and master. The majority of us shouldn't
be worrying about 26 yet.

To reiterate:

    emacs-25        pre-release branch for upcoming release (now 25.1)
    master          development branch for next release (now 25.2)
    "next"          general home for breaking, future work (now 26.1)

Having a two branch system means either not having a place for 25.2 work while
we focus on 25.1, or it means not having a place for 26 work other than
separate feature branches. Given that 26 is further away, I'm more concerned
about the stability of the former, rather than the latter. So whether people
want a "next" branch is up to you guys; topic branches are fine too.

To clarify an earlier statement: If there is work presently on master that
breaks APIs, please either provide a justification here on emacs-devel, or
cherry-pick that patch to "next" or some topic branch, and revert it from
master with a note that it doesn't belong in 25.2.

-- 
John Wiegley                  GPG fingerprint = 4710 CF98 AF9B 327B B80F
http://newartisans.com                          60E1 46C4 BD1A 7AC1 4BA2

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 629 bytes --]

^ permalink raw reply	[flat|nested] 120+ messages in thread

* Re: Next release from master
  2016-02-09 14:57               ` Stefan Monnier
  2016-02-09 22:38                 ` Lars Ingebrigtsen
@ 2016-02-10 16:41                 ` John Wiegley
  2016-02-10 17:07                   ` Dmitry Gutov
  2016-02-10 18:06                   ` Óscar Fuentes
  1 sibling, 2 replies; 120+ messages in thread
From: John Wiegley @ 2016-02-10 16:41 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: emacs-devel

[-- Attachment #1: Type: text/plain, Size: 516 bytes --]

>>>>> Stefan Monnier <monnier@iro.umontreal.ca> writes:

> IOW, "master" is not really open for changes?

Not "open open", no.  It's open for features and changes compatible with 25.1,
but too new to be accepted in 25.1. It may also break compatibility with
justification (example: a series bug we introduced that can only be fixed by
an API breakage).

-- 
John Wiegley                  GPG fingerprint = 4710 CF98 AF9B 327B B80F
http://newartisans.com                          60E1 46C4 BD1A 7AC1 4BA2

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 629 bytes --]

^ permalink raw reply	[flat|nested] 120+ messages in thread

* Re: Next release from master
  2016-02-10 16:41                 ` John Wiegley
@ 2016-02-10 17:07                   ` Dmitry Gutov
  2016-02-10 18:06                   ` Óscar Fuentes
  1 sibling, 0 replies; 120+ messages in thread
From: Dmitry Gutov @ 2016-02-10 17:07 UTC (permalink / raw)
  To: Stefan Monnier, emacs-devel

On 02/10/2016 06:41 PM, John Wiegley wrote:

> It may also break compatibility with
> justification (example: a series bug we introduced that can only be fixed by
> an API breakage).

And cannot be fixed with a rollback?

I'd think API breakage = next major version.



^ permalink raw reply	[flat|nested] 120+ messages in thread

* Re: Next release from master
  2016-02-10 16:40                   ` John Wiegley
@ 2016-02-10 17:18                     ` Dmitry Gutov
  0 siblings, 0 replies; 120+ messages in thread
From: Dmitry Gutov @ 2016-02-10 17:18 UTC (permalink / raw)
  To: Lars Ingebrigtsen, Stefan Monnier, emacs-devel

On 02/10/2016 06:40 PM, John Wiegley wrote:

> If we allow committing of "any new code" to master, how do we determine what
> should go into 25.2?

I think I've given a possible answer for that question before: whatever 
we'd have wanted to put into 25.1, but hadn't managed to do so before 
25.1 was released. IOW, the contents of 25.2 would be determined after 
the 25.1 release, and it would be built from the same branch.

> I think the only reasonable answer to that question would
> be that master should become 26

Yes.

> 25.x should go
> through a few more rounds of stabilization before we jump on 26 features.

I think it's an argument in favor of "master is 26", as per above.

Or it's an argument in favor of master having no new features, not 
simply avoiding API breakages, which would strongly conflict with the 
current practice, and the current contents of master.

> To clarify an earlier statement: If there is work presently on master that
> breaks APIs, please either provide a justification here on emacs-devel, or
> cherry-pick that patch to "next" or some topic branch, and revert it from
> master with a note that it doesn't belong in 25.2.

I'm fairly certain that everything in 'git diff emacs-25..master' 
contains either breakages, or new features, or major reorganization 
(like with the test suite).

Or should contain, because everything else could have been backported to 
emacs-25.



^ permalink raw reply	[flat|nested] 120+ messages in thread

* Re: Next release from master
  2016-02-10  3:28                             ` Alexis
  2016-02-10  3:33                               ` Dmitry Gutov
@ 2016-02-10 17:56                               ` Eli Zaretskii
  1 sibling, 0 replies; 120+ messages in thread
From: Eli Zaretskii @ 2016-02-10 17:56 UTC (permalink / raw)
  To: Alexis; +Cc: ofv, emacs-devel

> From: Alexis <flexibeast@gmail.com>
> Date: Wed, 10 Feb 2016 14:28:18 +1100
> Cc: emacs-devel@gnu.org
> 
> i would also like to suggest that part of the "it works" phase should involve writing (or at least attempting to write) proper documentation for the feature(s) involved. Yes, the "works right" phase might well involve modifying some of that documentation, but proper documentation is important to help people understand how the feature is intended to work and/or be used.

I think we should indeed move towards requesting that each change in
behavior is accompanied by a suitable change in the documentation.
Other projects (GDB is one example) have such a policy, and it works
well enough, even when the person who submits a patch has difficulty
expressing themselves in English (they are helped to overcome that
difficulty).

> Further, it seems to me that Eli is ending up having to write a lot of documentation of other people's code, which i feel is unfair on him.

Forget about me: it's unfair to all of us.  It took me 2 months to
catch up on all the stuff that should have been documented, which had
to be done before the first pretest could be put out the door.  Two
months of working almost entirely alone on nothing but updates to the
2 main manuals, using up all the time I could afford, doing almost
nothing else for Emacs.  That's 2 months of delay in releasing Emacs.
Do we really want to pay that price each time we are about to make
another release?

> If GNU Emacs being "self-documenting" is a headline feature, then documentation should be an integral part of code development, not Somebody Else's Problem, where "Somebody" is Eli.

Don't count on me being in that role for too long ;-)

Thanks for raising this issue.



^ permalink raw reply	[flat|nested] 120+ messages in thread

* Re: Next release from master
  2016-02-10  3:33                               ` Dmitry Gutov
  2016-02-10  4:02                                 ` Óscar Fuentes
  2016-02-10  4:04                                 ` Alexis
@ 2016-02-10 17:58                                 ` Eli Zaretskii
  2016-02-11 17:21                                   ` Paul Eggert
  2 siblings, 1 reply; 120+ messages in thread
From: Eli Zaretskii @ 2016-02-10 17:58 UTC (permalink / raw)
  To: Dmitry Gutov; +Cc: ofv, flexibeast, emacs-devel

> From: Dmitry Gutov <dgutov@yandex.ru>
> Date: Wed, 10 Feb 2016 05:33:13 +0200
> Cc: emacs-devel@gnu.org
> 
> I'm sure Eli (and the rest of us) would be very happy to see you help with documentation.

Indeed; volunteers welcome.

However, the best person to write documentation of a feature is the
one who made the change, and the best time to do that is as part of or
immediately following the development, when all the details are still
fresh in that person's memory.  If Someone Else™ has to do that, that
someone needs to reverse-engineer the changes, look for and browse old
discussions and bug reports, try the new feature to fill the gaps in
the doc strings, etc. etc., just to make sense of what was done and
why, and figure out which parts are important enough to be in the
manuals.  Sometimes, doing all that takes a few moments, but more
often it can take hours or days.

It is much more efficient if the original developer provides some
documentation, even if it's not good English and without Texinfo
markup, because adding markup and rephrasing is a mostly mechanical
process that can be done very quickly and without the need to research
issues closed many moons ago.

Thanks.



^ permalink raw reply	[flat|nested] 120+ messages in thread

* Re: Next release from master
  2016-02-10  4:13                                   ` Dmitry Gutov
  2016-02-10  4:51                                     ` Alexis
  2016-02-10  4:58                                     ` Óscar Fuentes
@ 2016-02-10 18:03                                     ` Eli Zaretskii
  2 siblings, 0 replies; 120+ messages in thread
From: Eli Zaretskii @ 2016-02-10 18:03 UTC (permalink / raw)
  To: Dmitry Gutov; +Cc: ofv, emacs-devel

> From: Dmitry Gutov <dgutov@yandex.ru>
> Date: Wed, 10 Feb 2016 06:13:36 +0200
> 
>     IMO it is very reasonable to require documenting the contributed
>     changes. Without that, code reviews and testing are much harder.
> 
> Not if the feature has appropriate docstrings and header commentary.

IME, people who write high-quality doc strings usually also document
the changes in the manual.  So, sadly, going by the doc strings and
the commentary still requires a non-trivial amount of work for many
changes.

> Hopefully, one doesn't have to read the code to translate the docstrings into the manual (AFAICT, Eli tried not to).

This can only be done with user-level documentation, not with stuff in
ELisp manual.  In the latter case, it normally doesn't work.
Especially if the subject matter is something one has little knowledge
about.  E.g., when I worked on cl-generic.el, even reading the code
didn't help enough, because I was not familiar with CLOS before.

> The person who does the documentation also can ask questions.

Yes, but that makes the process much less efficient, even if the
person who wrote the code lives in a close time zone.  A job that
could take several minutes will take hours or days if one must ask
questions to figure things out.  That's what happened with 'pcase',
for example.



^ permalink raw reply	[flat|nested] 120+ messages in thread

* Re: Next release from master
  2016-02-10 16:41                 ` John Wiegley
  2016-02-10 17:07                   ` Dmitry Gutov
@ 2016-02-10 18:06                   ` Óscar Fuentes
  2016-02-11  3:47                     ` Daniel Colascione
  1 sibling, 1 reply; 120+ messages in thread
From: Óscar Fuentes @ 2016-02-10 18:06 UTC (permalink / raw)
  To: emacs-devel

John Wiegley <jwiegley@gmail.com> writes:

> Not "open open", no.  It's open for features and changes compatible with 25.1,
> but too new to be accepted in 25.1.

Why the dot releases have new features and non-bug-fixing changes at
all? What's the criteria for putting a new feature on a dot release and
another on a major release?

[snip]




^ permalink raw reply	[flat|nested] 120+ messages in thread

* Re: Next release from master
  2016-02-10  4:23                                   ` Dmitry Gutov
@ 2016-02-10 18:07                                     ` Eli Zaretskii
  0 siblings, 0 replies; 120+ messages in thread
From: Eli Zaretskii @ 2016-02-10 18:07 UTC (permalink / raw)
  To: Dmitry Gutov; +Cc: ofv, jwiegley, flexibeast, emacs-devel

> From: Dmitry Gutov <dgutov@yandex.ru>
> Date: Wed, 10 Feb 2016 06:23:03 +0200
> Cc: Óscar Fuentes <ofv@wanadoo.es>, jwiegley@gmail.com,
> 	emacs-devel@gnu.org
> 
> I would be happy to have to write my own documentation, provided nobody is expecting to see the next Emacs release anytime soon.

We need to have both code and documentation for a release, so these
two tasks are not mutually exclusive conditions of releasing a new
Emacs version, they both need to be done.

> Unfortunately, since there are so few core developers, or people who take responsibility for various core packages, some of the time I could have used to work on the said documentation, I had to spend on e.g. fixing stuff in etags.el, or pieces of VC left broken by ESR's latest changes.

Sadly, this is true.  However, we are all in the same boat, since we
don't have on board people who work only on documentation.  Each one
of us, when working on documentation, uses time that could have been
invested in development of code and fixing bugs.  When someone submits
code without proper documentation, eventually Someone Else™ will have
to do that part in their stead.  TANSTAAFL.

>     If you think that it's not important to
>     provide documentation for the code you write, then okay, but that's not
>     a position i share.
> 
> Not as important as working code, or fewer bugs in Emacs in general.

I think both are equally important.  A complex system such as Emacs
without proper documentation will be harder to develop and harder to
attract new contributors.  And if some domain expert steps down,
his/her replacement will have hard time getting up to speed.

I also think that if each one of us invests small efforts on
individual changes to the documentation here and there, it will not
steal any significant amounts of time from our development resources,
because writing documentation, with only very rare exceptions, takes a
small fraction of time needed for design, development, testing, and
debugging.  By contrast, having to wait for weeks for documentation
update, like what happened just now, is bad for frequent releases.



^ permalink raw reply	[flat|nested] 120+ messages in thread

* Re: Next release from master
  2016-02-10  4:58                                     ` Óscar Fuentes
                                                         ` (2 preceding siblings ...)
  2016-02-10  5:10                                       ` Dmitry Gutov
@ 2016-02-10 18:08                                       ` Eli Zaretskii
  3 siblings, 0 replies; 120+ messages in thread
From: Eli Zaretskii @ 2016-02-10 18:08 UTC (permalink / raw)
  To: Óscar Fuentes; +Cc: emacs-devel

> From: Óscar Fuentes <ofv@wanadoo.es>
> Date: Wed, 10 Feb 2016 05:58:22 +0100
> 
> >> IMO it is very reasonable to require documenting the contributed
> >> changes. Without that, code reviews and testing are much harder.
> >
> > Not if the feature has appropriate docstrings and header commentary.
> 
> I was talking about docstrings and, possibly, NEWS too.

No need, these are already included almost always.  The problem is the
manuals.

> > As far as I'm concerned, the manual is a separate universe which
> > requires additional knowledge to contribute to.
> 
> This is reasonable, as long as we have people willing to work on it and
> that doesn't detract them from other more valuable work they would do
> instead.

We don't have such people, and probably never will.  This is not a
for-profit company which can go out and hire such people.  Our
community is driven by the desire to develop software, so we all quite
naturally don't want to "waste time" on documentation.  But if we
don't work on the documentation, we won't have any, at least not a
good one.



^ permalink raw reply	[flat|nested] 120+ messages in thread

* Re: Next release from master
  2016-02-10  5:07                                       ` Lars Ingebrigtsen
  2016-02-10  5:16                                         ` Dmitry Gutov
@ 2016-02-10 18:09                                         ` Eli Zaretskii
  1 sibling, 0 replies; 120+ messages in thread
From: Eli Zaretskii @ 2016-02-10 18:09 UTC (permalink / raw)
  To: Lars Ingebrigtsen; +Cc: ofv, emacs-devel

> From: Lars Ingebrigtsen <larsi@gnus.org>
> Date: Wed, 10 Feb 2016 16:07:04 +1100
> Cc: emacs-devel@gnu.org
> 
> Texinfo does take a while to get used to, yes...

I said several time that if Texinfo is a problem for someone, they
don't need to bother.  Adding markup to text that is otherwise ready
is a very simple job that takes a few minutes.  I can volunteer for
doing that service if someone needs it.  I do NOT volunteer to sit for
weeks on end writing documentation from scratch like I did since last
November.



^ permalink raw reply	[flat|nested] 120+ messages in thread

* Re: Next release from master
  2016-02-10  5:16                                         ` Dmitry Gutov
@ 2016-02-10 18:09                                           ` Eli Zaretskii
  0 siblings, 0 replies; 120+ messages in thread
From: Eli Zaretskii @ 2016-02-10 18:09 UTC (permalink / raw)
  To: Dmitry Gutov; +Cc: ofv, larsi, emacs-devel

> From: Dmitry Gutov <dgutov@yandex.ru>
> Date: Wed, 10 Feb 2016 07:16:06 +0200
> Cc: emacs-devel@gnu.org
> 
>     Texinfo does take a while to get used to, yes...
> 
> Not just Texinfo, but the existing organization and contents of the manuals. Not all of us are intimately familiar with them.

Again, if those are the problems, I volunteer to solve them for anyone
who has them.  Finding a place where to put new stuff, or any other
such clerical job, takes me a few moments; writing from scratch can
take, and many times does take, much longer.

>     Yeah.  But I think people should do their best to document any changes
>     they do, and I kinda sorta feel that "their best" might be at a higher
>     level than we're observing now.  :-)
> 
> Probably. But I'm sure all of us can point out (different) areas where "people" aren't doing their absolute best. 

We need to strive to be better in all of them, I think.



^ permalink raw reply	[flat|nested] 120+ messages in thread

* Re: Next release from master
  2016-02-10  5:28                                       ` Dmitry Gutov
@ 2016-02-10 18:10                                         ` Eli Zaretskii
  0 siblings, 0 replies; 120+ messages in thread
From: Eli Zaretskii @ 2016-02-10 18:10 UTC (permalink / raw)
  To: Dmitry Gutov; +Cc: ofv, jwiegley, flexibeast, emacs-devel

> From: Dmitry Gutov <dgutov@yandex.ru>
> Date: Wed, 10 Feb 2016 07:28:34 +0200
> Cc: Óscar Fuentes <ofv@wanadoo.es>, jwiegley@gmail.com,
> 	emacs-devel@gnu.org
> 
> IMO, process isn't our main problem now.

Maybe not the main one, but we do have problems there.



^ permalink raw reply	[flat|nested] 120+ messages in thread

* Re: Next release from master
  2016-02-10  0:38                       ` Óscar Fuentes
  2016-02-10  2:04                         ` Lars Ingebrigtsen
  2016-02-10  2:34                         ` Kaushal Modi
@ 2016-02-10 21:46                         ` Rasmus
  2 siblings, 0 replies; 120+ messages in thread
From: Rasmus @ 2016-02-10 21:46 UTC (permalink / raw)
  To: emacs-devel

Óscar Fuentes <ofv@wanadoo.es> writes:

>>> I agree.  Feature branches are annoying from a testing point of view.  It
>>> would have to be a very exciting branch before I’d bother to merge it...
>
> You don't need to merge the branch, just do a checkout, build it and
> try the feature.

Unfortunately, I'm not quite ready to adopt your workflow.

I built Emacs with a script and install it to /usr.  I want this to be
based on master.  To test a new feature I’d thus need to merge the feature
branch or forego differences between master and the feature branch in
question.

IOW: Too many branches seems like unnecessary fragmentation.

Rasmus

-- 
Summon the Mothership!




^ permalink raw reply	[flat|nested] 120+ messages in thread

* Re: Next release from master
  2016-02-10  2:42                           ` Óscar Fuentes
  2016-02-10  3:00                             ` Lars Ingebrigtsen
  2016-02-10  3:28                             ` Alexis
@ 2016-02-11  3:35                             ` Daniel Colascione
  2016-02-11  3:55                               ` Óscar Fuentes
  2 siblings, 1 reply; 120+ messages in thread
From: Daniel Colascione @ 2016-02-11  3:35 UTC (permalink / raw)
  To: Óscar Fuentes, emacs-devel

[-- Attachment #1: Type: text/plain, Size: 1004 bytes --]

On 02/09/2016 06:42 PM, Óscar Fuentes wrote:
> Lars Ingebrigtsen <larsi@gnus.org> writes:
> 
>> Emacs is an editor.  When introducing new features, the trivial thing to
>> test is whether "it works".  The complicated thing, and that needs many
>> eyes, is whether something "works right".  Only humans can say whether a
>> feature feels like it's getting in the way of getting things done, or
>> whether it feels like the right thing to do.
> 
> Exactly. And developing features on `master' entirely bypasses the "it
> works" phase, and that is a recipe for disaster. A dangerous change
> should be on a branch until "it works" (*), then merged to see if it
> "works right" (**). If the developer recruits some volunteers to see if
> it "works right" for them before the merge, that's even better.

I see no need for such caution on the master branch. It's just as easy
to revert a broken feature as it is to add one in the first place. I'm
in favor of developing directly on master.


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply	[flat|nested] 120+ messages in thread

* Re: Next release from master
  2016-02-10 18:06                   ` Óscar Fuentes
@ 2016-02-11  3:47                     ` Daniel Colascione
  0 siblings, 0 replies; 120+ messages in thread
From: Daniel Colascione @ 2016-02-11  3:47 UTC (permalink / raw)
  To: Óscar Fuentes, emacs-devel

[-- Attachment #1: Type: text/plain, Size: 2421 bytes --]

On 02/10/2016 10:06 AM, Óscar Fuentes wrote:
> John Wiegley <jwiegley@gmail.com> writes:
> 
>> Not "open open", no.  It's open for features and changes compatible with 25.1,
>> but too new to be accepted in 25.1.
> 
> Why the dot releases have new features and non-bug-fixing changes at
> all? What's the criteria for putting a new feature on a dot release and
> another on a major release?

It's partially because of this confusion that I think we should give up
on the major-minor release system entirely. That system made a lot more
sense when bandwidth was scarce, disk space was precious, compilation
glacial, and package management manual. These days, we have ample
computing resources. I'd like to seriously consider time-based releases
of master (say, every six months), with backports of only critical
security fixes to older releases --- with support for a maximum of, say,
three years. This model is becoming increasingly common for OS
distributions and major applications; Mozilla has used it successfully
for years.

While it's true that out-of-tree developers could no longer use version
numbers to understand when APIs might break, I don't think that's really
a problem, since they, too, can distribute their releases continuously.
I seldom bother with releases myself anymore: if I want to use a
package, I just clone the repository. I think a one-major-release
deprecation period for breaking changes would give out-of-tree
developers more than enough time to fix any broken packages.

With a time-based monolithic release system, we wouldn't have to worry
about what features could go in what branch. We'd instead only have to
worry about the length of time for which we would have to support
obsolete APIs, and IMHO, it's much easier to reason about contractual
guarantees at that level.

Quick time-based releases also help get new code in the hands of users
faster, which is not only better for Emacs users, but better for the
future community of Emacs developers, who would find it satisfying to be
able to see code reach production in a relatively short time.

While this scheme does place a greater burden on keeping master stable,
you're _already_ advocating the use of feature branches for potentially
disruptive work, so in theory, master should be stable already. In
practice, I run master synced at irregular intervals and seldom have
problems.


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply	[flat|nested] 120+ messages in thread

* Re: Next release from master
  2016-02-11  3:35                             ` Daniel Colascione
@ 2016-02-11  3:55                               ` Óscar Fuentes
  2016-02-11 15:24                                 ` John Wiegley
  0 siblings, 1 reply; 120+ messages in thread
From: Óscar Fuentes @ 2016-02-11  3:55 UTC (permalink / raw)
  To: emacs-devel

Daniel Colascione <dancol@dancol.org> writes:

> I see no need for such caution on the master branch. It's just as easy
> to revert a broken feature as it is to add one in the first place. I'm
> in favor of developing directly on master.

Apparently you skipped a previous message of mine where I mention a case
of a commit that rendered a package useless for many months and was not
possible to revert it.

Mixing unrelated commits on a linear sequence makes difficult to revert
invasive features, review code and pinpoint regressions (bisecting only
tells you that a bug is repeatable starting from certain commit, not
that the commit introduced the bug; having the entire series of commits
that implemented a feature nicely isolated on their own branch of the VC
DAG makes analysis much easier, for all purposes.)

For one-off changes that fits logically on a single commit, yes, master
is fine.




^ permalink raw reply	[flat|nested] 120+ messages in thread

* Re: Next release from master
  2016-02-11  3:55                               ` Óscar Fuentes
@ 2016-02-11 15:24                                 ` John Wiegley
  2016-02-11 16:07                                   ` Mark Oteiza
                                                     ` (3 more replies)
  0 siblings, 4 replies; 120+ messages in thread
From: John Wiegley @ 2016-02-11 15:24 UTC (permalink / raw)
  To: Óscar Fuentes; +Cc: emacs-devel

[-- Attachment #1: Type: text/plain, Size: 2048 bytes --]

It appears that we have several possible scenarios available to us, and each
has its trade-offs.

OPTION #1 (closest to the status quo)

  25.1 is developed on emacs-25
  25.2 is concurrently developed on master
  26.1 is concurrently developed in other branches
  
  LABOR: We need to move 26.1 commits out of master and into some other
  branch. Bugs that were marked "fixed in 25.2" that shouldn't have been, need
  to be updated to say "fixed in 26.1".

OPTION #2

  25.1 is developed on emacs-25
  25.2 is concurrently developed on emacs-25-next
  26.1 is concurrently developed on master

  LABOR: Again, splitting the commits between master and emacs-25-next.  Same
  work as option #1.

  DOWNSIDE: 'master' potentially becomes much more unstable, and yet this is
  the default branch when people pull from Git.  Solution: Change the default
  branch to emacs-XX-next.

OPTION #3

  25.1 is developed on emacs-25
  26.1 is concurrently developed on master

  This means dropping point releases, except for back-patching severe bug
  fixes onto emacs-25.

  DOWNSIDE: Package authors will experience API breakages more often, since
  every release of Emacs is now free to break them. There would be no policy
  of compatibility, as there is now (mostly) between point releases.

  Unless you've managed a large Emacs project used by many, I'm not sure you
  fully understand what is implied by this decision. Someone suggested just
  cutting a new release arbitrarily every X months, but I don't feel that is a
  realistic option.

OPTION #4

  ???

Since the core developers are the ones doing the work, what works for them is
what we should do. If everyone wants API-breaky releases more often, we should
consider that option. However, my preference is option #1, as it is the one
that most emphasizes stability over "new features".

-- 
John Wiegley                  GPG fingerprint = 4710 CF98 AF9B 327B B80F
http://newartisans.com                          60E1 46C4 BD1A 7AC1 4BA2

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 629 bytes --]

^ permalink raw reply	[flat|nested] 120+ messages in thread

* Re: Next release from master
  2016-02-11 15:24                                 ` John Wiegley
@ 2016-02-11 16:07                                   ` Mark Oteiza
  2016-02-11 16:20                                   ` Óscar Fuentes
                                                     ` (2 subsequent siblings)
  3 siblings, 0 replies; 120+ messages in thread
From: Mark Oteiza @ 2016-02-11 16:07 UTC (permalink / raw)
  To: emacs-devel


John Wiegley <jwiegley@gmail.com> writes:

> It appears that we have several possible scenarios available to us, and each
> has its trade-offs.
>
> OPTION #1 (closest to the status quo)

I have been watching this thread and I still have the question: what is
wrong with the status quo?

AIUI, this is:

- 25.1 lives in emacs-25
- after 25.1 is released, emacs-25 becomes 25.2 and receives bug fixes and
  non-breaking features, either by merging from master or simply being
  applied to emacs-25. Bug fixes applied to emacs-25 periodically get
  merged back into master when appropriate
- 26.1 is master



^ permalink raw reply	[flat|nested] 120+ messages in thread

* Re: Next release from master
  2016-02-11 15:24                                 ` John Wiegley
  2016-02-11 16:07                                   ` Mark Oteiza
@ 2016-02-11 16:20                                   ` Óscar Fuentes
  2016-02-11 16:59                                   ` Teemu Likonen
  2016-02-11 19:33                                   ` Daniel Colascione
  3 siblings, 0 replies; 120+ messages in thread
From: Óscar Fuentes @ 2016-02-11 16:20 UTC (permalink / raw)
  To: emacs-devel

John Wiegley <jwiegley@gmail.com> writes:

[snip]

> OPTION #3
>
>   25.1 is developed on emacs-25
>   26.1 is concurrently developed on master
>
>   This means dropping point releases, except for back-patching severe bug
>   fixes onto emacs-25.

OPTION #4

emacs-25 is released, the branch remains open for bugfixes. All other
changes go into master. Once emacs-25 has accumulated a reasonable
number of bug fixes, or they are important enough, emacs 25.2 is
released.

I think that this method is easy enough to understand and does not drop
point releases.

OTOH, some people might be upset because new features need to wait for
the next major release, but IMHO point releases should be limited to
quality improvements.

[snip]




^ permalink raw reply	[flat|nested] 120+ messages in thread

* Re: Next release from master
@ 2016-02-11 16:28 Angelo Graziosi
  2016-02-11 17:09 ` John Wiegley
  2016-02-11 19:36 ` Stefan Monnier
  0 siblings, 2 replies; 120+ messages in thread
From: Angelo Graziosi @ 2016-02-11 16:28 UTC (permalink / raw)
  To: Emacs developers

Mark Oteiza wrote:
> I have been watching this thread and I still have the question: what is
> wrong with the status quo?
>
> AIUI, this is:
>
> - 25.1 lives in emacs-25
> - after 25.1 is released, emacs-25 becomes 25.2 and receives bug fixes and
>   non-breaking features, either by merging from master or simply being
>   applied to emacs-25. Bug fixes applied to emacs-25 periodically get
>   merged back into master when appropriate
> - 26.1 is master

the only simple, clear, right, acceptable written in this thread...



^ permalink raw reply	[flat|nested] 120+ messages in thread

* Re: Next release from master
  2016-02-11 15:24                                 ` John Wiegley
  2016-02-11 16:07                                   ` Mark Oteiza
  2016-02-11 16:20                                   ` Óscar Fuentes
@ 2016-02-11 16:59                                   ` Teemu Likonen
  2016-02-11 19:33                                   ` Daniel Colascione
  3 siblings, 0 replies; 120+ messages in thread
From: Teemu Likonen @ 2016-02-11 16:59 UTC (permalink / raw)
  To: John Wiegley; +Cc: Óscar Fuentes, emacs-devel

[-- Attachment #1: Type: text/plain, Size: 1390 bytes --]

(cl-incf option)

  - master: This is the release branch for versions with new features.
    Releases are Git-tagged: emacs-25.1. After the release new features
    are added or merged here (see feature branches below).

  - maint: When a release happens from master the master branch is
    merged here. Bug fixes are added here (if a bug fix release is
    planned). Releases are Git-tagged: emacs-25.2. This branch is merged
    to master occasionally.

  - next: Wild zone and test branch for new features. Feature branches
    (see below) and the master branch are merged here. This is never
    merged anywhere. Maybe a cleanup sometimes: "git reset --hard
    master".

  - [any feature-specific branch]: There can be any number of
    feature-specific branches for new features. These are merged to next
    when a wider testing is wanted. When feature is ready and the master
    is open these are merged to master (and can be discarded).

From users' and downstream point of view: Those who always want the most
stable version will follow "maint". Those who want the normal next
release branch will follow "master". For testing the latest features one
would use "next" or manually merge any feature branches to one's own.

-- 
/// Teemu Likonen   - .-..   <https://github.com/tlikonen> //
// PGP: 4E10 55DC 84E9 DFF6 13D7 8557 719D 69D3 2453 9450 ///

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 818 bytes --]

^ permalink raw reply	[flat|nested] 120+ messages in thread

* Re: Next release from master
  2016-02-11 16:28 Angelo Graziosi
@ 2016-02-11 17:09 ` John Wiegley
  2016-02-11 17:26   ` Paul Eggert
                     ` (2 more replies)
  2016-02-11 19:36 ` Stefan Monnier
  1 sibling, 3 replies; 120+ messages in thread
From: John Wiegley @ 2016-02-11 17:09 UTC (permalink / raw)
  To: Angelo Graziosi; +Cc: Emacs developers

>>>>> Angelo Graziosi <angelo.graziosi@alice.it> writes:

>> - 25.1 lives in emacs-25 - after 25.1 is released, emacs-25 becomes 25.2
>> and receives bug fixes and non-breaking features, either by merging from
>> master or simply being applied to emacs-25. Bug fixes applied to emacs-25
>> periodically get merged back into master when appropriate - 26.1 is master

> the only simple, clear, right, acceptable written in this thread...

Well, I guess that's one opinion. :)

I'm interested to hear what the core developers want: anyone who commits more
than once in a blue moon, which option do you want?

-- 
John Wiegley                  GPG fingerprint = 4710 CF98 AF9B 327B B80F
http://newartisans.com                          60E1 46C4 BD1A 7AC1 4BA2



^ permalink raw reply	[flat|nested] 120+ messages in thread

* Re: Next release from master
  2016-02-10 17:58                                 ` Eli Zaretskii
@ 2016-02-11 17:21                                   ` Paul Eggert
  2016-02-11 18:11                                     ` John Wiegley
  0 siblings, 1 reply; 120+ messages in thread
From: Paul Eggert @ 2016-02-11 17:21 UTC (permalink / raw)
  To: emacs-devel

On 02/10/2016 09:58 AM, Eli Zaretskii wrote:
> the best person to write documentation of a feature is the
> one who made the change, and the best time to do that is as part of or
> immediately following the development, when all the details are still
> fresh in that person's memory.

I quite agree with this. The all-too-common habit of "write code first, 
hope somebody else will document later" is a terribly inefficient way 
improve Emacs, and we really should change our collective habits in this 
area. I've been doing my best to document as I go, and find that this is 
much better -- among other things, documenting is a good way to find 
bugs before they're committed to the master branch.




^ permalink raw reply	[flat|nested] 120+ messages in thread

* Re: Next release from master
  2016-02-11 17:09 ` John Wiegley
@ 2016-02-11 17:26   ` Paul Eggert
  2016-02-11 17:27   ` Angelo Graziosi
  2016-02-11 21:04   ` Eli Zaretskii
  2 siblings, 0 replies; 120+ messages in thread
From: Paul Eggert @ 2016-02-11 17:26 UTC (permalink / raw)
  To: Emacs developers

On 02/11/2016 09:09 AM, John Wiegley wrote:
> I'm interested to hear what the core developers want: anyone who commits more
> than once in a blue moon, which option do you want?

I agree with Mark Oteiza that the status quo is good enough. If we had 
more developers and could profitably work on 25.1 and 25.2 and 26.1 in 
parallel then the extra complexity and confusion of three branches would 
be worth it. But we don't have that many developers, and even working on 
two branches in parallel is a strain for us. I sometimes wish that we 
had just one branch, to be honest.



^ permalink raw reply	[flat|nested] 120+ messages in thread

* Re: Next release from master
  2016-02-11 17:09 ` John Wiegley
  2016-02-11 17:26   ` Paul Eggert
@ 2016-02-11 17:27   ` Angelo Graziosi
  2016-02-11 21:08     ` Eli Zaretskii
  2016-02-11 21:04   ` Eli Zaretskii
  2 siblings, 1 reply; 120+ messages in thread
From: Angelo Graziosi @ 2016-02-11 17:27 UTC (permalink / raw)
  To: Emacs developers



Il 11/02/2016 18:09, John Wiegley ha scritto:
>>>>>> Angelo Graziosi <angelo.graziosi@alice.it> writes:
>
>>> - 25.1 lives in emacs-25 - after 25.1 is released, emacs-25 becomes 25.2
>>> and receives bug fixes and non-breaking features, either by merging from
>>> master or simply being applied to emacs-25. Bug fixes applied to emacs-25
>>> periodically get merged back into master when appropriate - 26.1 is master
>
>> the only simple, clear, right, acceptable written in this thread...
>
> Well, I guess that's one opinion. :)
>
> I'm interested to hear what the core developers want: anyone who commits more
> than once in a blue moon, which option do you want?
>

For what I remember, the development of Emacs has been always so in the 
last 10 year, both with CVS, BAZAR and up to few months ago, with Git. I 
don't see any reason to change. I have built Emacs on Cygwin, GNU/Linux 
and OSX (and now MSYS2/MINGW64) for 8-9 years almost one or two times 
per week (and sometimes also more). It's only from some months that I 
build Emacs rarely.. master is always behind other branches and don't 
know project where master, trunk or whatever is called is behind other 
branches..



^ permalink raw reply	[flat|nested] 120+ messages in thread

* Re: Next release from master
  2016-02-11 17:21                                   ` Paul Eggert
@ 2016-02-11 18:11                                     ` John Wiegley
  0 siblings, 0 replies; 120+ messages in thread
From: John Wiegley @ 2016-02-11 18:11 UTC (permalink / raw)
  To: Paul Eggert; +Cc: emacs-devel

>>>>> Paul Eggert <eggert@cs.ucla.edu> writes:

> On 02/10/2016 09:58 AM, Eli Zaretskii wrote:
>> the best person to write documentation of a feature is the one who made the
>> change, and the best time to do that is as part of or immediately following
>> the development, when all the details are still fresh in that person's
>> memory.

> I quite agree with this. The all-too-common habit of "write code first, hope
> somebody else will document later" is a terribly inefficient way improve
> Emacs, and we really should change our collective habits in this area. I've
> been doing my best to document as I go, and find that this is much better --
> among other things, documenting is a good way to find bugs before they're
> committed to the master branch.

Can we move this discussion to another thread? It is only vaguely related to
deciding what the next release from master will be.

-- 
John Wiegley                  GPG fingerprint = 4710 CF98 AF9B 327B B80F
http://newartisans.com                          60E1 46C4 BD1A 7AC1 4BA2



^ permalink raw reply	[flat|nested] 120+ messages in thread

* Re: Next release from master
  2016-02-11 15:24                                 ` John Wiegley
                                                     ` (2 preceding siblings ...)
  2016-02-11 16:59                                   ` Teemu Likonen
@ 2016-02-11 19:33                                   ` Daniel Colascione
  3 siblings, 0 replies; 120+ messages in thread
From: Daniel Colascione @ 2016-02-11 19:33 UTC (permalink / raw)
  To: Óscar Fuentes, emacs-devel

[-- Attachment #1: Type: text/plain, Size: 968 bytes --]

On 02/11/2016 07:24 AM, John Wiegley wrote:
> It appears that we have several possible scenarios available to us, and each
> has its trade-offs.
> 
> OPTION #3
> 
>   25.1 is developed on emacs-25
>   26.1 is concurrently developed on master
> 
>   This means dropping point releases, except for back-patching severe bug
>   fixes onto emacs-25.
> 
>   DOWNSIDE: Package authors will experience API breakages more often, since
>   every release of Emacs is now free to break them. There would be no policy
>   of compatibility, as there is now (mostly) between point releases.

FWIW, I'm not proposing anything as aggressive as breaking compatibility
every release. It's easy enough to maintain API compatibility for a
pre-set number of point releases, and this policy could replace point
release compatibility. A deprecation period of six months to a year is a
reasonable period for expecting external package developers to adapt to
new APIs.


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply	[flat|nested] 120+ messages in thread

* Re: Next release from master
  2016-02-11 16:28 Angelo Graziosi
  2016-02-11 17:09 ` John Wiegley
@ 2016-02-11 19:36 ` Stefan Monnier
  2016-02-11 19:40   ` John Wiegley
  2016-02-12 12:34   ` Richard Stallman
  1 sibling, 2 replies; 120+ messages in thread
From: Stefan Monnier @ 2016-02-11 19:36 UTC (permalink / raw)
  To: emacs-devel

>> - 25.1 lives in emacs-25
>> - after 25.1 is released, emacs-25 becomes 25.2 and receives bug fixes and
>> non-breaking features, either by merging from master or simply being
>> applied to emacs-25. Bug fixes applied to emacs-25 periodically get
>> merged back into master when appropriate
>> - 26.1 is master

Right.  That's indeed the model I concluded works best for us, based on
the 24.x experience (and which lead to keeping 24.5 for bugfix only, and
naming the next release 25.1 rather than 24.6).


        Stefan




^ permalink raw reply	[flat|nested] 120+ messages in thread

* Re: Next release from master
  2016-02-11 19:36 ` Stefan Monnier
@ 2016-02-11 19:40   ` John Wiegley
  2016-02-12 12:34   ` Richard Stallman
  1 sibling, 0 replies; 120+ messages in thread
From: John Wiegley @ 2016-02-11 19:40 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: emacs-devel

>>>>> Stefan Monnier <monnier@iro.umontreal.ca> writes:

> Right. That's indeed the model I concluded works best for us, based on the
> 24.x experience (and which lead to keeping 24.5 for bugfix only, and naming
> the next release 25.1 rather than 24.6).

Eli, Artur, Glenn, Richard, what say you?

-- 
John Wiegley                  GPG fingerprint = 4710 CF98 AF9B 327B B80F
http://newartisans.com                          60E1 46C4 BD1A 7AC1 4BA2



^ permalink raw reply	[flat|nested] 120+ messages in thread

* Re: Next release from master
  2016-02-11 17:09 ` John Wiegley
  2016-02-11 17:26   ` Paul Eggert
  2016-02-11 17:27   ` Angelo Graziosi
@ 2016-02-11 21:04   ` Eli Zaretskii
  2 siblings, 0 replies; 120+ messages in thread
From: Eli Zaretskii @ 2016-02-11 21:04 UTC (permalink / raw)
  To: John Wiegley; +Cc: emacs-devel, angelo.graziosi

> From: John Wiegley <jwiegley@gmail.com>
> Date: Thu, 11 Feb 2016 12:09:46 -0500
> Cc: Emacs developers <emacs-devel@gnu.org>
> 
> I'm interested to hear what the core developers want: anyone who commits more
> than once in a blue moon, which option do you want?

I think what Mark suggested makes the most sense, and fits best our
scarce resources and also (to some extent) past practices.

All the alternatives are significantly more complex, and I don't
believe we will be able to sustain them, the way we currently work.



^ permalink raw reply	[flat|nested] 120+ messages in thread

* Re: Next release from master
  2016-02-11 17:27   ` Angelo Graziosi
@ 2016-02-11 21:08     ` Eli Zaretskii
  0 siblings, 0 replies; 120+ messages in thread
From: Eli Zaretskii @ 2016-02-11 21:08 UTC (permalink / raw)
  To: Angelo Graziosi; +Cc: emacs-devel

> From: Angelo Graziosi <angelo.graziosi@alice.it>
> Date: Thu, 11 Feb 2016 18:27:10 +0100
> 
> I have built Emacs on Cygwin, GNU/Linux and OSX (and now
> MSYS2/MINGW64) for 8-9 years almost one or two times per week (and
> sometimes also more). It's only from some months that I build Emacs
> rarely.. master is always behind other branches and don't know
> project where master, trunk or whatever is called is behind other
> branches..

That's what we get for not investing enough efforts in making the
release branch release-ready, coupled with the fact that the number of
people who do the mundane stuff continues to diminish.  It will get
worse unless more people become ready to get their hands dirty.



^ permalink raw reply	[flat|nested] 120+ messages in thread

* Re: Next release from master
  2016-02-11 19:36 ` Stefan Monnier
  2016-02-11 19:40   ` John Wiegley
@ 2016-02-12 12:34   ` Richard Stallman
  1 sibling, 0 replies; 120+ messages in thread
From: Richard Stallman @ 2016-02-12 12:34 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: emacs-devel

[[[ To any NSA and FBI agents reading my email: please consider    ]]]
[[[ whether defending the US Constitution against all enemies,     ]]]
[[[ foreign or domestic, requires you to follow Snowden's example. ]]]

  > Right.  That's indeed the model I concluded works best for us, based on
  > the 24.x experience (and which lead to keeping 24.5 for bugfix only, and
  > naming the next release 25.1 rather than 24.6).

It is fine with me.

-- 
Dr Richard Stallman
President, Free Software Foundation (gnu.org, fsf.org)
Internet Hall-of-Famer (internethalloffame.org)
Skype: No way! See stallman.org/skype.html.




^ permalink raw reply	[flat|nested] 120+ messages in thread

end of thread, other threads:[~2016-02-12 12:34 UTC | newest]

Thread overview: 120+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-01-12  7:09 emacs-25 merge pushed, please confirm John Wiegley
2016-01-12 11:12 ` Alex Bennée
2016-01-12 16:19   ` John Wiegley
2016-01-17 23:04 ` Next release from master Stefan Monnier
2016-01-17 23:10   ` John Wiegley
2016-01-18  9:06     ` Michael Albinus
2016-01-18 15:55       ` Eli Zaretskii
2016-01-18 20:06         ` Michael Albinus
2016-01-18 20:25           ` Eli Zaretskii
2016-01-18 15:55     ` Eli Zaretskii
2016-01-18 21:13       ` John Wiegley
2016-01-18 21:31         ` Daniel Colascione
2016-01-18 21:43           ` John Wiegley
2016-01-18 21:45             ` Daniel Colascione
2016-01-18 21:51               ` John Wiegley
2016-01-18 22:15                 ` Stefan Monnier
2016-01-18 22:18                   ` John Wiegley
2016-01-19  3:36               ` Eli Zaretskii
2016-01-18 15:54   ` Eli Zaretskii
2016-01-21 17:35   ` Glenn Morris
2016-01-21 17:58     ` Eli Zaretskii
2016-02-04 17:39       ` Glenn Morris
2016-02-04 20:31         ` John Wiegley
2016-02-08 13:41           ` Stefan Monnier
2016-02-08 15:54             ` John Wiegley
2016-02-08 16:47               ` Dmitry Gutov
2016-02-09 14:55                 ` John Wiegley
2016-02-09 15:15                   ` Dmitry Gutov
2016-02-09 14:57               ` Stefan Monnier
2016-02-09 22:38                 ` Lars Ingebrigtsen
2016-02-09 23:42                   ` Rasmus
2016-02-10  0:09                     ` Kaushal Modi
2016-02-10  0:38                       ` Óscar Fuentes
2016-02-10  2:04                         ` Lars Ingebrigtsen
2016-02-10  2:42                           ` Óscar Fuentes
2016-02-10  3:00                             ` Lars Ingebrigtsen
2016-02-10  3:43                               ` Óscar Fuentes
2016-02-10  4:01                                 ` Lars Ingebrigtsen
2016-02-10  3:28                             ` Alexis
2016-02-10  3:33                               ` Dmitry Gutov
2016-02-10  4:02                                 ` Óscar Fuentes
2016-02-10  4:13                                   ` Dmitry Gutov
2016-02-10  4:51                                     ` Alexis
2016-02-10  5:28                                       ` Dmitry Gutov
2016-02-10 18:10                                         ` Eli Zaretskii
2016-02-10  4:58                                     ` Óscar Fuentes
2016-02-10  5:07                                       ` Lars Ingebrigtsen
2016-02-10  5:16                                         ` Dmitry Gutov
2016-02-10 18:09                                           ` Eli Zaretskii
2016-02-10 18:09                                         ` Eli Zaretskii
2016-02-10  5:08                                       ` Alexis
2016-02-10  5:10                                       ` Dmitry Gutov
2016-02-10 18:08                                       ` Eli Zaretskii
2016-02-10 18:03                                     ` Eli Zaretskii
2016-02-10  4:04                                 ` Alexis
2016-02-10  4:23                                   ` Dmitry Gutov
2016-02-10 18:07                                     ` Eli Zaretskii
2016-02-10 17:58                                 ` Eli Zaretskii
2016-02-11 17:21                                   ` Paul Eggert
2016-02-11 18:11                                     ` John Wiegley
2016-02-10 17:56                               ` Eli Zaretskii
2016-02-11  3:35                             ` Daniel Colascione
2016-02-11  3:55                               ` Óscar Fuentes
2016-02-11 15:24                                 ` John Wiegley
2016-02-11 16:07                                   ` Mark Oteiza
2016-02-11 16:20                                   ` Óscar Fuentes
2016-02-11 16:59                                   ` Teemu Likonen
2016-02-11 19:33                                   ` Daniel Colascione
2016-02-10  2:34                         ` Kaushal Modi
2016-02-10  3:24                           ` Óscar Fuentes
2016-02-10 21:46                         ` Rasmus
2016-02-10 16:40                   ` John Wiegley
2016-02-10 17:18                     ` Dmitry Gutov
2016-02-10 16:41                 ` John Wiegley
2016-02-10 17:07                   ` Dmitry Gutov
2016-02-10 18:06                   ` Óscar Fuentes
2016-02-11  3:47                     ` Daniel Colascione
2016-01-22  1:01     ` John Wiegley
2016-01-22  1:28       ` Dmitry Gutov
2016-01-22  1:42         ` Paul Eggert
2016-01-22  3:50           ` Xue Fuqiao
2016-01-22  1:46         ` John Wiegley
2016-01-22  1:48           ` Dmitry Gutov
2016-01-22  1:56             ` John Wiegley
2016-01-22  7:32               ` Eli Zaretskii
2016-01-22  7:38                 ` John Wiegley
2016-01-22 14:59                   ` Barry Fishman
2016-01-22 17:45                     ` John Wiegley
2016-01-22 21:27                       ` Barry Fishman
2016-01-23  1:47                         ` John Wiegley
2016-01-25 10:38                           ` Alex Bennée
2016-01-25 15:56                             ` Eli Zaretskii
2016-01-23  5:17                         ` Stefan Monnier
2016-01-23 17:09                           ` Barry Fishman
2016-01-23 20:06                             ` John Wiegley
2016-01-24  4:26                               ` Stefan Monnier
2016-01-24 14:11                                 ` Eli Zaretskii
2016-01-24 18:04                                   ` Stefan Monnier
2016-01-24 18:35                                     ` Eli Zaretskii
2016-01-25  2:20                                       ` Stefan Monnier
2016-01-22  7:26           ` Eli Zaretskii
2016-01-22  8:10             ` Michael Albinus
2016-01-22  8:25               ` Eli Zaretskii
2016-01-22  8:58                 ` Nicolas Petton
2016-01-22  9:02                   ` Michael Albinus
2016-01-22 17:42                     ` John Wiegley
2016-01-22 19:02                       ` Michael Albinus
2016-01-22 19:16                         ` Alan Mackenzie
2016-01-22 21:22                           ` Eli Zaretskii
2016-01-22  7:11       ` Eli Zaretskii
2016-01-23  5:25       ` Stefan Monnier
  -- strict thread matches above, loose matches on Subject: below --
2016-02-11 16:28 Angelo Graziosi
2016-02-11 17:09 ` John Wiegley
2016-02-11 17:26   ` Paul Eggert
2016-02-11 17:27   ` Angelo Graziosi
2016-02-11 21:08     ` Eli Zaretskii
2016-02-11 21:04   ` Eli Zaretskii
2016-02-11 19:36 ` Stefan Monnier
2016-02-11 19:40   ` John Wiegley
2016-02-12 12:34   ` Richard Stallman

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.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).