XboxDev / nxdk-sdl

SDL2 (adapted for original Xbox / nxdk toolchain)
Other
20 stars 8 forks source link

SDL upstream moved #40

Open JayFoxRox opened 3 years ago

JayFoxRox commented 3 years ago

SDL migrated to GitHub (https://discourse.libsdl.org/t/migration-to-github-is-in-progress/28730), including their bug-tracker, code and wiki:


Steps to take:

Move fork network

I'm not sure if GitHub support is able to move this repository to the new SDL fork network. In the past they were able to remove repositories from fork networks, but I believe it's impossible to move or add fork networks.

If we can't move it should be discussed wether a new repository should be forked. A fork network might help with exposure or upstreaming changes and makes it easier to see when the fork is outdated.

Another solution is to get @SDL-mirror (@Yoplitein) to unarchive and keep their repository synchronized with the new SDL GitHub repository. It also affects other people who maintained SDL forks, like @spurious (https://github.com/spurious/SDL-mirror), which also stopped updating. Maybe those people can also find a solution with GitHub so that @SDL-mirror and @spurious are merged into the new SDL repository, so all forks automatically update their fork-network. This affects hundreds of users, so it makes sense to find a good solution (it would be embarrassing if GitHub, after more than 10 years, doesn't have a good way of migrating users to new fork-networks after large projects embrace GitHub).

Rebase to have a shared base

Even if this repository is on a different fork network it should still share the same commits for the base SDL version, with Xbox specific changes on top. This will make it much easier to compare accross repositories / see additions and removals.

Please rebase to https://github.com/libsdl-org/SDL/tree/release-2.0.9.

29 should be fixed independently, to avoid missing oportunities with critical additions / features in backend interface.

Obviously this can't happen while there are PRs opened, so I suggest to code-freeze / reject new PRs after the current ones have been merged.

Yoplitein commented 3 years ago

I'd say recreating the repository is the only viable solution, unfortunately. Object IDs do not match up between the three repositories (e.g. compare SDL-Mirror/SDL@effed5b75, spurious/SDL-mirror@1a63a60d6, and libsdl-org/SDL@ef52560a2.) I imagine this would preclude migrating any forks, as well as efforts to revive mirrors short of writing some system to replay all commits past ef52560a2 onto their local copies.

JayFoxRox commented 3 years ago

Thanks for taking the time to respond :+1:

Object IDs do not match up between the three repositories

Yes, this is expected. That is understood and not something that I expect to be automated for each project. We'll have to rebase (which is precisely: "replay all commits") to fix the actual git history.

However, even with a completely different history, it should be possible to change the fork network / upstream for the GitHub UI (which is something only GitHub support could do). Unfortunately, now that I think of it, GitHub would then display ~"This branch is 1234567 commits ahead, 1234567 commits behind SDL:master" (until you rebase). So not a good solution either.

- I can see the extent of this problem now. What a mess.