Skip to content

Latest commit

 

History

History
20 lines (12 loc) · 2.26 KB

CONTRIBUTING.md

File metadata and controls

20 lines (12 loc) · 2.26 KB

Thanks for your interest! Be sure to check the forum post for bugs and features already scheduled for the next release. Or join us on #powder-subframe (on IRC, or on Discord) for discussion about issues, features, or development.

This mod is compiled the same way as the original game. See the game's wiki for instructions.

There are two important branches in this repository — main and dev-rebase. In short, make pull requests against main.

To elaborate, main has a stable history. This means that commits will only ever be appended to it, so you can safely git pull origin main to update your local branch. Apart from tracking contributors and regressions, its commit history is generally very uninformative since most development takes place on dev-rebase.

dev-rebase has an unstable history. Commits are amended, rearranged and squashed all the time. This is necessary because the mod aims to regularly keep up-to-date with the latest upstream (vanilla) version. Merging upstream changes can result in conflicts with features spanning the entire history of the mod, resulting in extra work or even bugs.

The solution is to maintain a clean commit history with a minimal footprint on the game's codebase. Whenever a feature is refactored without a significant change in functionality, the refactor is squashed with the feature's original commit and cleaned to minimize opportunities for merge conflicts. As a side effect, this makes dev-rebase a great branch to study to understand the mod's internal features and modifications, though note that contributor information is naturally absent.

Since dev-rebase has an unstable history, you cannot pull it directly to update a local branch. It's unlikely that you'll ever need to maintain a local copy of dev-rebase, but if you do find yourself wanting to update one, you'll need to do a hard pull:

git fetch origin dev-rebase
git reset --hard origin/dev-rebase

WARNING: Make sure that you're on the right branch. Note that any work on your local branch, even committed work, will be lost.