With Swimm, you can describe flows spanning across multiple repositories, by including snippets, tokens and paths from multiple repositories.
To add a snippet from a different repository than the one you are on, simply add a snippet, and then click on
repos. You can then select the repo you'd like to take the snippet from.
Type ` (backtick), and then type your token reference (variable, class, etc.). Swimm will suggest content from multiple repositories. Note you can click the repository dropdown and then check/uncheck repositories to include in search results.
To add paths from multiple repositories, type
/ (slash command), and select
Path. Then, select your desired path and confirm.
Multi-repo snippets in the IDE
When browsing code on one repo (say,
backend-repo), you will see that it has been referenced in a document - whether this document is stored on the same repo (
backend-repo) or another repo (
How will multi-repo content affect my CI checks?
For example, say you are on a repo called
backend-repo, and you create a document that has elements from both
frontend-repo. If you integrate Swimm to your CI, it will run a check on every pull request. If a code reference from
backend-repo becomes outdated, the CI check will fail, and automatically update or notify you, depending on the specific change and your configuration.
On the other hand, in case a code reference on
frontend-repo becomes outdated, no check will fail - to avoid weird development dependencies where a PR on
backend-repo is blocked waiting for a change in
frontend-repo or vice versa. You you introduce changes to
frontend-repo that affect documents on
backend-repo, you will be notified.
Notifications are made on the pull request or merge request page as a comment, and sent to your Slack if you have Swimm's Slack App.
You will be notified before the merge of the changes to the default branch, as well as after the merge.
In the above scenario, the
outdated page will mark the document as outdated and allow you to update it. In addition, upon reading or editing this document, all outdated references (from either repo) will be presented as outdated and you will be able to edit the document.
This document is automatically kept up to date using Swimm.