Repository navigation
Syncing with upstream
This guide brings upstream's latest game_rework into the fork and on into stable. Why the branches are laid out this way is on Branches and workflow.
game_rework matching upstream exactly, and stable carrying upstream's new work alongside ours.
Do this once per clone:
git config rerere.enabled trueWith it on, a conflict you resolve once is resolved the same way on every later merge.
git fetch upstream
git switch game_rework
git merge --ff-only upstream/game_rework
git push origin game_reworkIf the fast-forward fails, someone committed to game_rework. Nothing of ours belongs there: move the commit to its own branch, then reset game_rework to upstream/game_rework.
git switch stable
git merge game_rework
git push origin stableRun this in the stable worktree if you use one.
Tip
Build and start the stack after the merge, and check it still comes up before you play on it.
There's nothing extra to do. The change reaches stable through the same merge. An identical change merges cleanly. If the maintainer reworked it, take their version wherever the two conflict.
If upstream's new migrations clash with one of ours, reset the local database rather than repairing its migration history. A local test database holds nothing worth keeping. Running it locally has the reset.
| Symptom | Cause | Fix |
|---|---|---|
merge --ff-only refuses |
game_rework has a commit upstream doesn't |
Move it to its own branch and reset game_rework
|
| The same conflict comes back on every merge |
rerere is off |
Turn it on, then resolve once more |
| Start-up fails after the merge with a migration error | Our migration and upstream's disagree on the history | Reset the database |
Guides
- Running it locally
- Using the web console
- Adding a player feature
- Verifying a feature
- Taking a change upstream
- Syncing with upstream
Explanation
- Server architecture
- Login handshake
- Game tables
- Branches and workflow
- Upstream branches
- Contributing
- Galactic Archive
- Account entitlements
Reference
- Processes and projects
- File formats
- Databases
- Web console
- Galactic Archive messages and storage
- Code style
- Code patterns
- Pull requests
Design
About this wiki