debian/main/6.6: uploaded to unstable and stable releases-> debian/backport/6.6.1-1: uploaded to backports
Hi folks
The repository for the Linux kernel in Debian currently makes heavy use
of merges, which will always conflict due to changelog changes. This constitutes high cognitive busy load, for pretty small gains.
After already removing the manually modified abiname, we can drop more
manual work with that. As the now requires operarions will not longer produce conflicts, we can easily create tools if we want.
What did I miss?
## Current state
The linux repo uses a kind of classic Debian like branch setup:
- master: for development work, uploaded to experimental
- sid: uploaded to sid
- bookworm
- bookworm-backports
- bookworm-security
Between different branches a lot of merges happen. Between master and
sid in both directions, so changes can be done in both places and
changelogs show a linear history. Between sid and *-backports.
Those merges are done by hand. In many cases conflict with each other
due to mainly changelog changes, which needs to cleaned up by hand.
## Proposal
Stop merging back changes, but create version distinct branches.
Something like that:
master: uploaded to experimental
debian/main/6.6: uploaded to unstable and stable releases-> debian/backport/6.6.1-1: uploaded to backports
-> debian/security/6.6.1+1: extra security releases
## Disadvantages
- All changes need to go via master, which they should do anyway.
- In case of patch backports:
- A bug will be closed multiple times.
- The exact version a change reached unstable is not longer visible.
- No automatic way for patches required in the backports suites (I have
a larger config overhaul, where we could add something for that.)
--
The heart is not a logical organ.
-- Dr. Janet Wallace, "The Deadly Years", stardate 3479.4
Moin
Sadly I did not get any response.
How would in the new scheme typical workflow look like? Maybe this
could help better understand the proposed changes. As you know in my
focus is mainly working on the stable branches, be it to rebase to
more recent stable upstream version, then targetting in either point
releases or security uploads, but as well picking single needing fixes
(for instance targetted security fixes).
It would help how the current work on e.g. the bookworm or
bookworm-security branches would work with the scheme. From importing
newer 6.1.y version (and rebasing rt patches) to cherry-pick single
fixes as needed. How then merge viceversa the security and stable
branches for instance.
(work on the branch for unstable is similar, though we have there no disitinction about the target upload).
On Thursday, 21 December 2023 17:30:26 CET Bastian Blank wrote:
- All changes need to go via master, which they should do anyway.
I think this as a general rule, with few clearly defined exceptions (like stable release updates), would be a good thing. Now it feels like targeting 'sid' is a way to (quickly) 'sneak' in some changes.
Moreover targeting 'sid' or 'master' seems rather arbitrary atm.
- All changes need to go via master, which they should do anyway.
A partial explanation for the confusion is that right now the master
branch is where you land changes that target experimental, while the sid branch is for changes targeting sid. However, obviously not all commits
end up in Debian experimental -
but the guideline is to always send changes to master anyways.
On Wed, Jan 17, 2024 at 07:18:27PM +0100, Ben Hutchings wrote:
On Thu, Dec 21, 2023 at 05:30:26PM +0100, Bastian Blank wrote:
The repository for the Linux kernel in Debian currently makes heavy use of merges, which will always conflict due to changelog changes. This constitutes high cognitive busy load, for pretty small gains.
I agree that this is a waste of time and resources for featureFeature branches are not affected here.
branches. We ought to avoid that by automating changelog updates for changes to the Debian packaging (gbp dch or somethign similar).
If we're going to change branch naming then we should be moving towards DEP-14, but this seems to diverge further.I don't find any branches with version in DEP-14. So this is not even applicable here.
On Thu, Dec 21, 2023 at 05:30:26PM +0100, Bastian Blank wrote:
The repository for the Linux kernel in Debian currently makes heavy use of merges, which will always conflict due to changelog changes. This constitutes high cognitive busy load, for pretty small gains.
I agree that this is a waste of time and resources for feature
branches. We ought to avoid that by automating changelog updates for
changes to the Debian packaging (gbp dch or somethign similar).
But I've never found these conflicts to be a big problem when merging
between different branches.
Stop merging back changes, but create version distinct branches. Something like that:
master: uploaded to experimental
debian/main/6.6: uploaded to unstable and stable releases-> debian/backport/6.6.1-1: uploaded to backports
-> debian/security/6.6.1+1: extra security releases
## Disadvantages
- All changes need to go via master, which they should do anyway.
- In case of patch backports:
- A bug will be closed multiple times.
- The exact version a change reached unstable is not longer visible.
- No automatic way for patches required in the backports suites (I have
a larger config overhaul, where we could add something for that.)
If we're going to change branch naming then we should be moving towards DEP-14, but this seems to diverge further.
Do you see any advantages to this beyond avoiding conflicts?
master: uploaded to experimental-> debian/release/6.6: uploaded to unstable and stable releases
-> debian/backport/6.6.1-1: uploaded to backports
-> debian/security/6.6.1+1: extra security releases
On Sun, 2024-01-28 at 21:37 +0100, Bastian Blank wrote:
I have one small last minute modification: don't use main, but release. Overall I did not see any voices against the concept itself. Nor did II oppose this change and I propose to switch to DEP-14 branches
see any counter proposals to the layout.
instead.
What did I miss?
Between different branches a lot of merges happen. Between master and
sid in both directions, so changes can be done in both places and
changelogs show a linear history. Between sid and *-backports.
## Proposal
Stop merging back changes, but create version distinct branches.
Something like that:
debian/release/6.6: uploaded to unstable and stable releases-> debian/backport/6.6.1-1: uploaded to backports (not really
Hi folks
On Thu, Dec 21, 2023 at 05:30:26PM +0100, Bastian Blank wrote:
What did I miss?
After the discussion in our meeting today, it seems I did not properly describe the problem good enough.
Between different branches a lot of merges happen. Between master and
sid in both directions, so changes can be done in both places and changelogs show a linear history. Between sid and *-backports.
Okay, what we regularly do is merges between sid and master. Those
merges are done by hand, but could be automated to some degree. Doing
them requires the developer to take a lot of decisions in one single
step:
What is not longer possible in non-confusing ways is to use branches
named after Debian distributions. We would either need to do non fast forward or do --their merges. Both variants are highly confusing to
users and the later one even got the same problems that I just described above.
## Proposal
Stop merging back changes, but create version distinct branches.
Something like that:
master: uploaded to experimental
debian/release/6.6: uploaded to unstable and stable releases-> debian/backport/6.6.1-1: uploaded to backports (not really
needed in most cases)
-> debian/security/6.6.1+1: extra security releases
On Thu, 2024-06-13 at 20:48 +0200, Bastian Blank wrote:
What is not longer possible in non-confusing ways is to use branchesFor testing/unstable and for stable-backports suites I agree we
named after Debian distributions. We would either need to do non fast forward or do --their merges. Both variants are highly confusing to
users and the later one even got the same problems that I just described above.
shouldn't do this any more. The -backports changes will need to
rebased when switching from e.g. 6.10.x to 6.11.x.
Having said that, a rebase isn't much more reviewable than a merge, so
I would prefer not to rebase -backports for upstream stable updates.
While merges for such updates are not automatic, the conflicts are in practice trivial.
## Proposal
Call this debian/latest so we follow DEP-14 as far as possible.Stop merging back changes, but create version distinct branches. Something like that:master: uploaded to experimental
I would prefer to use suite names in these branch names, to makedebian/release/6.6: uploaded to unstable and stable releases-> debian/security/6.6.1+1: extra security releases
itclearer what the branches correspond to. So those would be:
- debian/6.6/unstable
- debian/6.6/bookworm-backports
- debian/6.6.1+1/booxie-security [*]
(swapping the release and suite so that they don't actually conflict
with DEP-14 branch names).
Hi[...]
On Wed, Sep 18, 2024 at 04:53:09PM +0200, Ben Hutchings wrote:
On Thu, 2024-06-13 at 20:48 +0200, Bastian Blank wrote:
## Proposal
Call this debian/latest so we follow DEP-14 as far as possible.Stop merging back changes, but create version distinct branches. Something like that:master: uploaded to experimental
I'm a bit reluctant on the latest, but well. The rest of the world
agreed on main.
I would prefer to use suite names in these branch names, to makedebian/release/6.6: uploaded to unstable and stable releases-> debian/security/6.6.1+1: extra security releases
itclearer what the branches correspond to. So those would be:
- debian/6.6/unstable
How do you think the transition to stable will happen? Just leave it
this way?
I would prefer to directly use the release name, aka
"debian/6.6/trixie", because this is what the package is destined for.
That it is uploaded to unstable (or to (testing-)proposed-updates) is
part of the technical implementation, but it does not change our policy
for it (same version range etc, or did I miss some differences?).
- debian/6.6/bookworm-backports
- debian/6.6.1+1/booxie-security [*]
(swapping the release and suite so that they don't actually conflict
with DEP-14 branch names).
Okay.
We can then also use "debian/6.6/experimental" or "debian/6.6/latest",
if necessary.
| Sysop: | Keyop |
|---|---|
| Location: | Huddersfield, West Yorkshire, UK |
| Users: | 715 |
| Nodes: | 16 (2 / 14) |
| Uptime: | 26:13:27 |
| Calls: | 12,106 |
| Calls today: | 6 |
| Files: | 15,006 |
| Messages: | 6,518,193 |