All development is done on personal forked copies (origin) of the primary Store Locator Plus® repositories (upstream). Upstream is considered the “single source of truth” for the current code state.

Additional Reading

Forks and Pull Requests

To begin work, fork the main Store Locator Plus® repository (upstream) to a personal repo (origin).

When code is ready to be integrated with current ongoing development effort, issue a pull request for your origin:update/<something> (see branch conventions below) branch into the upstream:develop branch. When the pull request is approved and merged, the upstream:develop branch be ready for the rest of the team.

Monitor upstream:develop regularly and be sure to fetch-and-merge (aka “pull”) the upstream:develop branch into origin:develop. Any in-progress origin:update/<something> branches that have not had a pull request issues against upstream should be rebased onto the new origin:develop branch. Make sure all conflicts are resolved.


Branches

Master

The main branch that is in production. The current production release is tagged with the version number.

Staging

The branch that is considered a potential release candidate. For the SaaS system this is what is running on the staging platform (dashbeta).

Develop

The integration / testing branch that coordinates work-in-progress (WIP) between the developers.

All new code work should start from the current develop branch.

When the develop branch has been updated it should be fetched from upstream and all in-progress branches should be rebased on develop.

Update/<something>

The preferred naming convention for in-progress branches.


Tags

All production releases should be tagged with the version number.

Post image from Pixabay: https://pixabay.com/photos/observation-deck-tokyo-skytree-7103210/