Skip to content

Conversation

@covers1624
Copy link

@covers1624 covers1624 commented Aug 17, 2020

Switch to DiffPatch.

  • Entirely removes diff4j and all FG's custom stuff surrounding it.
  • Adds a dependency on DiffPatch.

Benifits:

  • Centralized patch implementation usable across all projects.
  • Support for auto hunk headers, removing large amounts of ever-changing useless junk from Forge patches (underscore for start2, @@ -start1,len1 _,len2 @@)
  • Far better Fuzzy patch implementation. (1.15 to 1.16 output diff and DiffPatch log)

Currently, DiffPatch is on my own maven until we get review out of the way and throw them on Forge's maven.

Recommended bump to FG 3.1 as this slightly changes the generated patch output in some cases (chooses different context).
Patches are 'baked' for userDev jars to maintain compat with older FG versions.

@LexManos
Copy link
Member

canonicalizeAccess is something that needs to be kept as discussed on discord, as modders have access transformers which will effect the patches.
It needs to be aseperate setting beside 'fuzz'. As mod workspaces should allow access changes, but disallow white space/offsets.

Copy link
Member

@LexManos LexManos left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Binary compat is a important thing, even if it is just adding a bunch of bouncer lines like you already do for most of the tasks. Also, we would need to specify somewhere in the userdev config what type of patch files we are using. As the old implementation {and other consumers of the userdev jar} have no idea about this relative header... Unless we want to bake the headers during userdev jar creation...

@covers1624 covers1624 marked this pull request as ready for review November 28, 2020 20:55
@covers1624 covers1624 force-pushed the new-patcher branch 2 times, most recently from b41d466 to ddc2c33 Compare November 28, 2020 21:01
@covers1624
Copy link
Author

This should be ready for more review, all comments have been addressed.

@covers1624 covers1624 changed the base branch from FG_3.0 to FG_4.0 January 19, 2021 20:42
@covers1624 covers1624 merged commit a74f4b1 into MinecraftForge:FG_4.0 Jan 30, 2021
@tie tie mentioned this pull request Feb 20, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants