Bug 262148 - devel/git-review: Fails to run with git >= 2.3.40: fatal: --preserve-merges was replaced by --rebase-merges
Summary: devel/git-review: Fails to run with git >= 2.3.40: fatal: --preserve-merges w...
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Many People
Assignee: Jason E. Hale
URL: https://opendev.org/opendev/git-revie...
Keywords: needs-qa
Depends on:
Blocks:
 
Reported: 2022-02-23 13:52 UTC by marek
Modified: 2022-03-04 19:28 UTC (History)
2 users (show)

See Also:
dereckson: maintainer-feedback+
koobs: merge-quarterly?


Attachments
0001-Compatibility-fix-for-git-2.34.patch (5.76 KB, patch)
2022-02-23 13:52 UTC, marek
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description marek 2022-02-23 13:52:19 UTC
Created attachment 232040 [details]
0001-Compatibility-fix-for-git-2.34.patch

The latest version of git (2.34.0) removes "--preserve-merges" option of "git rebase" [1]. This change breaks git-review with the following error:

fatal: --preserve-merges was replaced by --rebase-merges

This bug was fixed in the git-review code in the commit id 7182166ec00ad3645821435d72c5424b4629165f [2], however there is no new release of git-review yet. I extracted the patch from this commit and tested it with the current version of git-review (1.28.0). I can confirm, that the patched version of git-review works fine with the current version of git (2.34.0). Please check prepared patch for the FreeBSD port. 


Links:
[1] https://github.com/git/git/blob/v2.34.0/Documentation/RelNotes/2.34.0.txt
[2] https://opendev.org/opendev/git-review/commit/7182166ec00ad3645821435d72c5424b4629165f
Comment 1 Kubilay Kocak freebsd_committer freebsd_triage 2022-02-23 23:39:52 UTC
Thank you for the report and patch.

^Triage: Quarterly git is 2.34.1, quarterly git-review also affected, MFH
Comment 2 dereckson 2022-02-24 00:16:16 UTC
Thanks for the patch.

This fixes a bug reporting upstream at:
https://storyboard.openstack.org/#!/story/2009690

Yes, this is indeed a problem we need to fix, as it breaks the workflow on recent Git.

Meanwhile, on Fedora, they took another approach: take the current repository HEAD and create a 2.2.0 themselves with the fix you included in the patch and everything else:

$ git-review --version
git-review version 2.2.0

Generally, on FreeBSD ports, patches have a goal to make the software build and work with FreeBSD, for example because we need to amend paths or headers.

The kind of solution you suggest offers instead to create a "à la Debian" backport: a Frankenstein software with some, but not all, features of more recent versions (here 2.21 + a patch from a future release).

I'm going to ask the upstream to release a 2.22 now, that will be a lot easier than to maintain a collection of patches.
Comment 3 dereckson 2022-02-24 00:29:03 UTC
Checked with fungi from OpenDev (the new project spin off OpenStack Infra). 

So https://docs.opendev.org/opendev/git-review/latest/ lets the impression we're still under 2.1.0, but a 2.2.0 *has* been released, for example on PyPI.

https://pypi.org/project/git-review/2.2.0/

So the easiest move is to update the port to 2.2.0.
Comment 4 dereckson 2022-02-24 01:01:17 UTC
2.2.0 update -> https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=262164
Comment 5 Kubilay Kocak freebsd_committer freebsd_triage 2022-02-24 01:26:44 UTC
(In reply to dereckson from comment #4)

Note its preferable to fix bugs only and separately in quarterly (where possible), independently of whether a new release is available or not, such that changes can be minimized in quarterly, unless those later release(s) are also bugfix *only*, in which case, they can and should be merged also.

^Triage: Maintainer feedback provided (set to +). This is separate from patch approval.

If every release between port current version and latest (2.2.0) are bugfixes only, we can depend on bug 262164, otherwise the patch here is more appropriate to  commit and merge first, before and separately from the version update.

@Maintainer Can you clarify the nature of all releases after the current port version (bugfix only or additional features as well?)
Comment 6 dereckson 2022-02-24 02:05:04 UTC
Hmmm indeed, good consideration.

According the releases notes, we've:
- 8 bug fixes
- 4 minor new features

The 2.0 was chosen to drop Python 2.7 support, and the port is already 3.6+.

So I'd suggest the following course of action:
1. commit this patch
2. merge to quarterly
3. commit a revert
4. commit 262164
Comment 7 Jason E. Hale freebsd_committer freebsd_triage 2022-03-04 18:36:39 UTC
It will be easier to just use PATCH_SITES/PATCHFILES instead of adding the patches directly to the ports tree. I'll merge that into 2022Q1, then follow up with bug #262164.
Comment 8 commit-hook freebsd_committer freebsd_triage 2022-03-04 19:23:24 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/ports/commit/?id=4271847e7a8f0dd68e205e88718a937db97f6aab

commit 4271847e7a8f0dd68e205e88718a937db97f6aab
Author:     Marek Krawczyk <marek@mky.waw.pl>
AuthorDate: 2022-03-04 19:03:48 +0000
Commit:     Jason E. Hale <jhale@FreeBSD.org>
CommitDate: 2022-03-04 19:21:54 +0000

    devel/git-review: Fix run with git >= 2.34.0

    PR:             262148
    Approved by:    Sébastian Santoro <dereckson@gmail.com> (maintainer)
    MFH:            2022Q1

 devel/git-review/Makefile | 4 ++++
 devel/git-review/distinfo | 4 +++-
 2 files changed, 7 insertions(+), 1 deletion(-)
Comment 9 commit-hook freebsd_committer freebsd_triage 2022-03-04 19:25:27 UTC
A commit in branch 2022Q1 references this bug:

URL: https://cgit.FreeBSD.org/ports/commit/?id=f24af83a967ff563988cd6363e22eed1b89770b8

commit f24af83a967ff563988cd6363e22eed1b89770b8
Author:     Marek Krawczyk <marek@mky.waw.pl>
AuthorDate: 2022-03-04 19:03:48 +0000
Commit:     Jason E. Hale <jhale@FreeBSD.org>
CommitDate: 2022-03-04 19:24:22 +0000

    devel/git-review: Fix run with git >= 2.34.0

    PR:             262148
    Approved by:    Sébastian Santoro <dereckson@gmail.com> (maintainer)
    MFH:            2022Q1

    (cherry picked from commit 4271847e7a8f0dd68e205e88718a937db97f6aab)

 devel/git-review/Makefile | 4 ++++
 devel/git-review/distinfo | 4 +++-
 2 files changed, 7 insertions(+), 1 deletion(-)
Comment 10 Jason E. Hale freebsd_committer freebsd_triage 2022-03-04 19:28:05 UTC
Committed to main and 2022Q1 using PATCH_SITES/PATCHFILES, thanks!