unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: "Daniel Martín" <mardani29@yahoo.es>
To: Lars Ingebrigtsen <larsi@gnus.org>
Cc: Stefan Monnier <monnier@iro.umontreal.ca>,
	 Glenn Morris <rgm@gnu.org>, Stefan Kangas <stefan@marxist.se>,
	 emacs-devel@gnu.org
Subject: Re: Merging release branch
Date: Fri, 29 Oct 2021 21:55:54 +0200	[thread overview]
Message-ID: <m135ojk3lh.fsf@yahoo.es> (raw)
In-Reply-To: <87y26bu0ih.fsf@gnus.org> (Lars Ingebrigtsen's message of "Fri, 29 Oct 2021 20:52:22 +0200")

Lars Ingebrigtsen <larsi@gnus.org> writes:

> Lars Ingebrigtsen <larsi@gnus.org> writes:
>
> I know there's other projects that don't do merging at all between
> long-lived branches like this.
>
> In Emacs, that would mean that things that are supposed to be
> emacs-28-only are developed there, and are pushed as normal.  Any things
> that are supposed to go to both master and emacs-28 are committed to
> master, and then cherry-picked for emacs-28.  (Or cherry-picked the
> other way, but that risks "losing" changes if you forget.)

An approach many of those projects follow is that every change is always
developed on master.  Only if a change is considered safe for the
release, it is cherry-picked into the release branch.  Always developing
on master greatly reduces the risk you mentioned about losing changes.

But this workflow is not exent of problems, though, because at the time
you cherry-pick it's possible that the change doesn't apply cleanly to
the emacs-28 branch.  In that case, you'll need to adapt the patch, and
possibly a maintainer would potentially need to review it again to see
if it's still safe enough for the release branch.

The main benefit this approach has is that there is not a single person
doing all the merges periodically, fixing conflicts affecting code he
has not written.  The release branch is never merged back and that means
there's no need to answer the non-intuitive question "should this commit
NOT be merged into master?", for example.  The merging work is
distributed across the people that cherry-pick their commits if they are
deemed safe for the next release.

My two cents.



  reply	other threads:[~2021-10-29 19:55 UTC|newest]

Thread overview: 47+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-10-29 16:35 Merging release branch Glenn Morris
2021-10-29 16:42 ` Lars Ingebrigtsen
2021-10-29 17:01 ` Stefan Kangas
2021-10-29 18:10   ` Stefan Monnier
2021-10-29 18:26     ` Lars Ingebrigtsen
2021-10-29 18:52       ` Lars Ingebrigtsen
2021-10-29 19:55         ` Daniel Martín [this message]
2021-10-30 11:42           ` Lars Ingebrigtsen
2021-10-30 13:42             ` Daniel Martín
2021-10-30 20:32               ` Tassilo Horn
2021-10-29 19:58         ` Eli Zaretskii
2021-10-30 11:51           ` Lars Ingebrigtsen
2021-10-30 12:11             ` Eli Zaretskii
2021-10-30 12:30               ` Dmitry Gutov
2021-10-30 12:32                 ` Eli Zaretskii
2021-10-30 13:34                   ` dick
2021-10-31 11:38                   ` Dmitry Gutov
2021-10-31 13:03                     ` Eli Zaretskii
2021-10-30 16:33                 ` Eli Zaretskii
2021-10-30 21:36                   ` Dmitry Gutov
2021-10-31  7:19                     ` Eli Zaretskii
2021-10-30 23:14                   ` Gregory Heytings
2021-10-30 23:17                     ` Dmitry Gutov
2021-10-31  7:20                     ` Eli Zaretskii
2021-10-31  8:13                       ` Gregory Heytings
2021-10-31 11:40                       ` Dmitry Gutov
2021-10-31 12:58                         ` Gregory Heytings
2021-10-31 21:59                           ` Dmitry Gutov
2021-10-31 14:46                         ` Lars Ingebrigtsen
2021-10-31 15:12                           ` Eli Zaretskii
2021-10-31 15:15                             ` Lars Ingebrigtsen
2021-10-31 16:02                               ` Dealing with merge noise (was: Merging release branch) Kévin Le Gouguec
2021-10-31 18:19                                 ` Stefan Kangas
2021-10-31 18:31                                   ` Eli Zaretskii
2021-10-31 22:00                           ` Merging release branch Dmitry Gutov
2021-10-30 12:31               ` Lars Ingebrigtsen
2021-10-30 12:48                 ` Eli Zaretskii
2021-10-29 19:00       ` Stefan Monnier
2021-10-29 19:05         ` Lars Ingebrigtsen
2021-10-29 19:17           ` Stefan Monnier
2021-10-29 20:29           ` David Engster
2021-10-29 17:08 ` dick
2021-11-06  9:28 ` Eli Zaretskii
2021-11-06 10:53   ` Stefan Kangas
2021-11-06 16:14     ` Glenn Morris
2021-11-06 16:11   ` Glenn Morris
2021-11-06 17:19     ` Eli Zaretskii

Reply instructions:

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

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

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

  List information: https://www.gnu.org/software/emacs/

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

  git send-email \
    --in-reply-to=m135ojk3lh.fsf@yahoo.es \
    --to=mardani29@yahoo.es \
    --cc=emacs-devel@gnu.org \
    --cc=larsi@gnus.org \
    --cc=monnier@iro.umontreal.ca \
    --cc=rgm@gnu.org \
    --cc=stefan@marxist.se \
    /path/to/YOUR_REPLY

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

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

	https://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).