Skip to content

Hard fork process #11735

Open
2 of 2 issues completed
Open
Task
2 of 2 issues completed
@kennytv

Description

@kennytv

We have to:

- [x] Apply all per-file patches (about 800)
- [x] Apply all feature-based patches (about 30, but REALLY large ones)
- [x] Publish an initial test build outside the API to fix less obvious issues
- [x] After fixing issues, push to `main` and publish initial builds
- [x] Push paperweight-patcher - see [here](https://github.com/PaperMC/paperweight-examples/branches) for exampless
- [x] Provide a script and info to contributors on how to update their pull requests
- [x] Do more fixing before exiting experimental builds
- [ ] Non-beta paperweight release

Applying all patches will likely take a few weeks. Make sure to join our Discord for discussion and more fine-grained updates!

See our forum post for more information: https://forums.papermc.io/threads/the-future-of-paper-hard-fork.1451/.
You can also see our previous prep work on here: Repository restructure (view)
Aaand you can see the current update branch here: https://github.com/PaperMC/Paper/tree/dev/hard-fork

For our dev team:

  • clone into dev/hard-fork, set cleanPaperRepo in ~/.gradle/gradle.properties to a pre hard fork 1.21.4 Paper project sources root (Paper-Server/src/main/java)
  • gradlew applyPatches
  • Repeat:
    • gradlew gibWork
    • Tick the entry in the per-file patches issue immediately
    • if it applied correctly, continue, else look at the rejects file and apply the missing hunks
    • open the patched files and see if they compile, if they don't gradlew checkWork to move the file to the old repo; fix up compile issues; press enter (which will copy the files back)
    • git commit --amend in the paper-server/src/vanilla/java dir
  • gradlew rebuildPatches

make sure IJ detected the new git repos:
Image

Sub-issues

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions