-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Home
Ryan Clark edited this page Jun 10, 2023
·
31 revisions
For building and using Loop, please go to loopdocs.org
If you wish to make additional code changes to Loop beyond what is included in the standard releases, here are some things that might be useful.
- Most users build from
LoopWorkspace
, which uses git submodules to tie together all the repositories that make up Loop. This allows most users to clone and build from a single repository, without having to bother with tools likecarthage
to manage dependencies. -
LoopWorkspace
's submodule commits are updated periodically, separate from changes to individual repositories. The upshot of this is that having a PR merged intoLoopKit
'sdev
branch does not make it immediately available inLoopWorkspace
'sdev
branch. - Most development should happen in the
dev
branch of each repository, with themaster
branch acting as the release branch for the current version. - DIY Loop and Tidepool Loop are both being worked on independently, with commits generally being merged in both directions. More often than not changes are first merged from Tidepool into DIY Loop and then back into Tidepool, but not always.
To submit a change, the following best practices are recommended:
- Start from an up-to-date copy of the branch you wish to make changes against, usually dev.
- When ready, commit your changes locally, and push to a branch on your fork, e.g.:
git push https://github.com/<user>/LoopKit bugfix/<bug number>
- The previous command will emit a GitHub URL where you can review your branch's changes against the source branch.
- If further changes are needed, either make more commits and repeat the previous command to push them to your branch, or amend your commit with
git commit --amend
and update your branch withgit push --force
. - When happy with your change, open a Pull Request. See here for the current dev Pull Request page: dev Pull Request
- Once reviewed, your Pull Request will be merged by a user with write access.