On Tue, Feb 16, 2021 at 3:01 PM Miro HronĨok <mhroncok(a)redhat.com> wrote:
On 16. 02. 21 14:48, Fabio Valentini wrote:
> if version_at(commit) != last_version:
> return 0
Should this be "return 1"?
No, 0 is correct. If the version does not match, this is the last
commit *before* a version update.
The "max(parents) + 1" then sets the Release to 1 for the commit that
actually changed the version :)
To prevent accidental divergence between the git history and the
build system.
That's why this information is only used in the koji plugin, locally (ie: via
the rpmautospec CLI) it only relies on the git tags.
So ... you want to *prevent* divergence by *introducing* divergence? I
do not follow ...
Using the number of commits can give weird results with merge commits
and even
though the upgrade path is not really an issue anymore, we preferred to try
preserving it. So rpmautospec should minimize the risk of broken upgrade path.
That is possible. However, I assume it's possible to determine whether
a given commit is a merge commit? Then it would be easy to skip over
those in the computation.
And while I agree that upgrade path should be clean, fixing those
corner cases by making the whole process brittle and possibly
inconsistent does not sound like a good idea to me. And with system
upgrade tools defaulting to `distro-sync` mode now, this corner cases
are even less of a problem.
Fabio