Bug 581049 - API Breaks in JGit 6.3
Summary: API Breaks in JGit 6.3
Status: RESOLVED FIXED
Alias: None
Product: JGit
Classification: Technology
Component: JGit (show other bugs)
Version: 6.3   Edit
Hardware: All All
: P3 normal (vote)
Target Milestone: 6.3.1   Edit
Assignee: Project Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2022-11-14 03:27 EST by Laurent Goubet CLA
Modified: 2022-11-16 09:13 EST (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Laurent Goubet CLA 2022-11-14 03:27:42 EST
Hello,

Commit https://git.eclipse.org/c/jgit/jgit.git/commit/?id=448052dc2e698b2e4e5d6dbca54be773aac687da has broken the ResolveMerger API in such a way that it is no longer possible to subclass. This makes it impossible for EMF Compare to build against 2022-09 or higher.

Sub-classes of the ResolveMerger need access to the WorkTreeUpdater in order to do any work at all. Please restore the visibility of this class.

As it stands, EMF Compare cannot build for the 2022-12 release train.

(cf https://github.com/eclipse-emf-compare/emf-compare/blob/master/plugins/org.eclipse.emf.compare.egit/src/org/eclipse/emf/compare/egit/internal/merge/RecursiveModelMerger.java for the class on our end that requires this)
Comment 1 Eclipse Genie CLA 2022-11-14 04:46:42 EST
New Gerrit change created: https://git.eclipse.org/r/c/jgit/jgit/+/196910
Comment 3 Matthias Sohn CLA 2022-11-16 03:03:27 EST
WorkTreeUpdater is now a protected subclass of ResolveMerger and thus accessible to subclasses of ResolveMerger
Comment 4 Laurent Goubet CLA 2022-11-16 03:20:43 EST
Thanks Matthias,

Is this available in a consumable build of 6.3.1? I need this to be able to build EMF Compare and I'm already past my +2 day.
Comment 5 Matthias Sohn CLA 2022-11-16 03:53:03 EST
I plan to merge this up to stable-6.4 and produce jgit's 6.4.0-M3 from that.
I guess this takes a couple of hours from now. Would that be sufficient ?

If needed I can also tag a service release 6.3.1.

Other than that we have the stable-6.3 SNAPSHOT build here
https://repo.eclipse.org/content/unzip/snapshots.unzip/org/eclipse/jgit/org.eclipse.jgit.repository/6.3.1-SNAPSHOT/org.eclipse.jgit.repository-6.3.1-SNAPSHOT.zip-unzip/
Comment 6 Laurent Goubet CLA 2022-11-16 04:07:51 EST
I mostly need a consumable build to prepare my own fix. I will use the stable-6.3 build to fix the EMF Compare compatibility and switch to 6.4.0 when building my contribution to 2022-12. If it's not "early enough" I will leave my current version of EMF Compare in the M3 build... It's not working but it won't fail the release train build since I left the jgit/egit version ranges open so I accept 6.3.0 even if there will be a runtime failure using it.

I would appreciate a ping as soon as your 6.4.0 M3 is available though.
Comment 7 Matthias Sohn CLA 2022-11-16 04:18:36 EST
I'll let you know here when 6.4.0-M3 is available
Comment 9 Laurent Goubet CLA 2022-11-16 07:43:51 EST
Thank you, the fix for the RecursiveModelMerger on my end is ready, but for now I'm building with EGit 6.3.0 and JGit 6.3.1. Do you have an ETA on EGit 6.4.0-m3  consuming this new JGit?
Comment 10 Matthias Sohn CLA 2022-11-16 09:10:00 EST
EGit 6.4.0 M3 is now also available
https://repo.eclipse.org/content/groups/releases/org/eclipse/egit/org.eclipse.egit.repository/6.4.0.202211160543-m3/

Here is the contribution to the simultaneous release:
https://git.eclipse.org/r/c/simrel/org.eclipse.simrel.build/+/197026
Comment 11 Laurent Goubet CLA 2022-11-16 09:13:19 EST
Thanks! Building my own M3 now ;)