Skip to content
Ryan Clark edited this page Jun 10, 2023 · 31 revisions

User Documentation

For building and using Loop, please go to loopdocs.org

Developer Documentation

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 like carthage 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 into LoopKit's dev branch does not make it immediately available in LoopWorkspace's dev branch.
  • Most development should happen in the dev branch of each repository, with the master 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 with git 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.
Clone this wiki locally