unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Christopher Baines <mail@cbaines.net>
To: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Cc: "Steve George" <steve@futurile.net>,
	"Ludovic Courtès" <ludo@gnu.org>, guix-devel <guix-devel@gnu.org>
Subject: Re: ‘core-updates’ is gone; long live ‘core-packages-team’!
Date: Sun, 15 Dec 2024 10:08:49 +0000	[thread overview]
Message-ID: <87ldwhmf66.fsf@cbaines.net> (raw)
In-Reply-To: <87bjxdzjdh.fsf@gmail.com> (Maxim Cournoyer's message of "Sun, 15 Dec 2024 12:59:38 +0900")

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

Maxim Cournoyer <maxim.cournoyer@gmail.com> writes:

> Hi Chris,
>
> Sorry for reviving a 14 weeks old thread, I'm still catching up
> post-move :-).

No worries, I hope move things are going well.

> Christopher Baines <mail@cbaines.net> writes:
>
> [...]
>
>>> The manual currently says it goes to 'staging' [1], and that this will
>>> be merged within six weeks. Is this actually true? I don't see any
>>> sign of it on Guix' git [2], and an unsure if the manual is out of
>>> sync with the branches workflow.
>>>
>>> While 'staging' seems like it could have similar difficulties to
>>> core-updates if it gets out of hand. The alternative choice of each
>>> time someone making a branch
>>> 'ffmpeg-and-stuff-i-collected-with-over-300-rebuilds' doesn't seem
>>> like a better choice ;-)
>>
>> That page needs updating I think.
>>
>>>> Recently, Christopher Baines further suggested that, as much as
>>>> possible, branches should be “stateless” in the sense that their changes
>>>> can be rebased anytime on top of ‘master’.  This is what we’ve been
>>>> doing for the past couple of months with ‘core-updates’; that sometimes
>>>> made it hard to follow IMO, because there were too many changes, but for
>>>> more focused branches, that should work well.
>>> (...)
>>>
>>> Long-lived branches and ones that don't cleanly apply onto master
>>> cause lots of difficulties from what I've seen. Perhaps a lesson is
>>> that branches should both be stateless *and* should not exist for more
>>> than 3 months. We already have a rule that encourages atomic changes
>>> within any patch in order to make things faster/easier to review. By
>>> extension, lets do the same with branches - merge them more often.
>>
>> Initially the documentation on branches said to create an issue when you
>> want to merge a branch, but this was changed to when you create a branch
>> to try and avoid situations like this, where a branch sits around and
>> gets stale for many months.
>
> Hm.  So is the intention that the moment a branch is created, it is
> expected to be in a good shape to be merged?  The previous way seemed
> more natural to me; the 'request for merge' issue would be created when
> the branch was mostly built or at least tested and deemed ready for
> being merged.  Now we won't know; we will depend on the person creating
> the branch being around to let us know of its state (plus the QA/CI
> indicatorcs of course).
>
> For multi-people team endeavours (e.g., GNOME, although Liliana has been
> doing most of the work (thanks!)), it seems a bit unreasonable to expect
> the branch to be ready from the moment it lives.

So, I think the "you must create a new guix-patches issue each time you
create a branch" makes more sense in the context of [1] which is also
suggesting that branches are just the combination of one or more patch
series.

1: https://guix.gnu.org/manual/devel/en/html_node/Managing-Patches-and-Branches.html

As I say above, my hope with this is that it would help avoid long
running branches which could become harder to work with. I think this
also makes sense in the context of the limited resources we have, in
particular time/hardware for building things for non-x86_64-linux
architectures. Rather than building all branches that people are working
on for all architectures, it's more useful to focus on building the
branches that people think are ready to merge.

One change I also made at some point is that the data service/QA ignore
branches prefixed with wip-, so while this currently isn't mentioned in
the docs (maybe it should be), one workflow currently is to create a
wip-foo branch and iterate on that, and then when it's ready, push the
changes as foo and create the merge issue.

Going back to your concerns about testing branches/changes before you
think they're ready to merge though, I definitely think there's room for
improvement in tooling and processes in this area though.

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

  parent reply	other threads:[~2024-12-15 10:09 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-08-31 13:03 ‘core-updates’ is gone; long live ‘core-packages-team’! Ludovic Courtès
2024-09-01 16:34 ` Steve George
2024-09-01 17:06   ` Christopher Baines
2024-09-03 14:02     ` Christopher Baines
2024-12-15  3:59     ` Maxim Cournoyer
2024-12-15  8:10       ` Janneke Nieuwenhuizen
2024-12-15 10:39         ` Christopher Baines
2024-12-15 11:16           ` Janneke Nieuwenhuizen
2024-12-15 10:08       ` Christopher Baines [this message]
2024-09-06  9:01   ` Ludovic Courtès
2024-09-09 15:30     ` Simon Tournier
2024-09-04 12:58 ` Simon Tournier
2024-09-05  8:39   ` Marek Paśnikowski
2024-09-05  9:40     ` Ricardo Wurmus
2024-09-06  9:11   ` Ludovic Courtès
2024-09-06 10:09     ` Andreas Enge
2024-09-06 11:35       ` Marek Paśnikowski
2024-09-06 13:25         ` Andreas Enge
2024-09-06 13:17       ` indieterminacy
2024-09-26 12:52       ` Ludovic Courtès
2024-09-06 17:44     ` Vagrant Cascadian
2024-09-06 18:06       ` Leo Famulari
2024-09-06 20:29         ` Rebasing commits and re-signing before mergeing (Was: ‘core-updates’ is gone; long live ‘core-packages-team’!) Vagrant Cascadian
2024-09-07 17:45           ` Leo Famulari
2024-09-08  2:33             ` Vagrant Cascadian
2024-09-06 19:49       ` ‘core-updates’ is gone; long live ‘core-packages-team’! Christopher Baines
2024-09-09 17:28     ` Naming “build train” instead of “merge train”? Simon Tournier
2024-12-15 11:22 ` ‘core-updates’ is gone; long live ‘core-packages-team’! Tomas Volf

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://guix.gnu.org/

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

  git send-email \
    --in-reply-to=87ldwhmf66.fsf@cbaines.net \
    --to=mail@cbaines.net \
    --cc=guix-devel@gnu.org \
    --cc=ludo@gnu.org \
    --cc=maxim.cournoyer@gmail.com \
    --cc=steve@futurile.net \
    /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/guix.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).