[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Should commits rather be buildable or small
From: |
John Kehayias |
Subject: |
Re: Should commits rather be buildable or small |
Date: |
Mon, 04 Mar 2024 21:38:36 +0000 |
Hi everyone,
And sorry for reviving an old thread, but I am faced with a similar issue for
updating vulkan, with the patch series submitted by dan (cc'ed):
<https://issues.guix.gnu.org/69461>. I thought I would get some opinions here,
please see below:
On Mon, Dec 11, 2023 at 12:51 PM, Ricardo Wurmus wrote:
> Attila Lendvai <attila@lendvai.name> writes:
>
>> i myself also had headaches multiple times when i fixed something that
>> needed to touch several different packages, and they would only work
>> when applied in one transaction:
>>
In this case all the vulkan packages share a version through a variable name. I
would assume packages wouldn't like mixed versions, but maybe some would work
(I haven't tried). I'll be taking this series on mesa-updates with related
changes, so the plan is that when it hits master there are no/few broken
packages and full substitute coverage. So perhaps this makes this more of a
style and convention question.
Some options:
1. Essentially squash to one commit where all of vulkan is updated in one
commit. The main upside is that nothing should break (within vulkan, dependents
to be fixed as needed) and it shows as "one" change; the main downside is that
the proposed changes are not just trivial version bumps. Harder to then
disentangle as needed.
2. Make each commit updating a package, but don't use the variable
%vulkan-sdk-version, updating each package with a version as it is done. Then
do a commit where all the versions are replaced by the variable. This seems
like unnecessary work to me and while it stops the obvious breaking (source
hashes don't match once variable is updated but package hasn't yet) versions
are still mixed which is likely a problem.
3. Go with the series as proposed: this means after the first commit for sure
all other vulkan packages and dependents don't build, as the source hashes
won't match until the commit that updates that package. Along with version
mixing, this perhaps doesn't give you a helpful git bisect either?
None are perfect. What do people think?
My instinct is to go with the series as proposed (after review) accepting that
there will be for sure builds failing if time traveling to the middle of the
series. I don't think we can really avoid that anyway, as sometimes we only see
an issue after a commit and it is fixed some time later. We could have a note
in the first commit that this requires the next n commits to update vulkan
packages. That might help if someone is on an intermediate commit and can see
quickly in git log this note.
Or perhaps we can note something is part of a dependent series when we make
commits so this is easier for someone to tell in general?
Thanks!
John
- Re: Should commits rather be buildable or small,
John Kehayias <=