Read-only mirror — the public repositories of the Forgejo instance, refreshed every 10 minutes. The live instance (fg.dieschoenewolke.de) is reachable only over the VPN; clone here with https://git.dieschoenewolke.de/git/<owner>/<repo>.git.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoreric sciple <ericsciple@users.noreply.github.com>2020-03-04 13:10:35 -0500
committerGitHub <noreply@github.com>2020-03-04 13:10:35 -0500
commit05e00fbe0759a9339f189796ba5ceb3c4c78a556 (patch)
treeb456bc79d1ab03c6689542bc012fd5674dce93fa
parent684bbf983233d1341d533f6fe471109f385c631a (diff)
revise adr to support submodules (#157)
-rw-r--r--adrs/0153-checkout-v2.md18
1 files changed, 15 insertions, 3 deletions
diff --git a/adrs/0153-checkout-v2.md b/adrs/0153-checkout-v2.md
index de531bd..b7f23db 100644
--- a/adrs/0153-checkout-v2.md
+++ b/adrs/0153-checkout-v2.md
@@ -60,13 +60,17 @@ We want to take this opportunity to make behavioral changes, from v1. This docum
lfs:
description: 'Whether to download Git-LFS files'
default: false
+ submodules:
+ description: >
+ Whether to checkout submodules: `true` to checkout submodules or `recursive` to
+ recursively checkout submodules.
+ default: 'false'
```
Note:
- SSH support is new
- `persist-credentials` is new
- `path` behavior is different (refer [below](#path) for details)
-- `submodules` was removed (error if specified; add later if needed)
### Fallback to GitHub API
@@ -74,7 +78,7 @@ When a sufficient version of git is not in the PATH, fallback to the [web API](h
Note:
- LFS files are not included in the archive. Therefore fail if LFS is set to true.
-- Submodules are also not included in the archive. However submodules are not supported by checkout v2 anyway.
+- Submodules are also not included in the archive.
### Persist credentials
@@ -95,7 +99,6 @@ Note:
- The auth header is scoped to all of github `http.https://github.com/.extraheader`
- Additional public remotes also just work.
- If users want to authenticate to an additional private remote, they should provide the `token` input.
- - Lines up if we add submodule support in the future. Don't need to worry about calculating relative URLs. Just works, although needs to be persisted in each submodule git config.
#### SSH key
@@ -229,6 +232,15 @@ A better solution is:
Given a source file path, walk up the directories until the first `.git/config` is found. Check if it matches the self repo (`url = https://github.com/OWNER/REPO`). If not, drop the source file path.
+### Submodules
+
+With both PAT and SSH key support, we should be able to provide frictionless support for
+submodules scenarios: recursive, non-recursive, relative submodule paths.
+
+When fetching submodules, follow the `fetch-depth` settings.
+
+Credentials will be persisted in the submodules local git config too.
+
### Port to typescript
The checkout action should be a typescript action on the GitHub graph, for the following reasons: