Add maiko, notecards, loops, test as git submodules#2532
Add maiko, notecards, loops, test as git submodules#2532
Conversation
Removes maiko/ from .gitignore so it can be tracked as a submodule. Each submodule is pinned to the current HEAD of its default branch (master for maiko/test, main for notecards/loops). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Adds Interlisp/online pinned to current HEAD of main, consistent with the other submodules added in this branch. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
doHCFILES.yml: replace 5 separate checkout steps with a single checkout using submodules:true; remove now-redundant .git cleanup step. buildLoadup.yml: add submodules:true to Checkout Medley; remove separate Checkout Notecards + tar steps (notecards.tgz was already commented out of the release push). make-gh-pages.md: replace manual clone+copy instructions with git clone --recurse-submodules; remove rm -rf of submodule dirs. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
How the loadup process changesBasic loadup (
HCFILES (requires loops and test too): previously you had to manually clone those repos and copy them in. Now they are already there. What you need to do differently after cloning medley# Before:
git clone https://github.com/Interlisp/medley
git clone https://github.com/Interlisp/notecards ../notecards # if building apps
# ... etc
# After:
git clone --recurse-submodules https://github.com/Interlisp/medley
# or on existing clone:
git submodule update --init --recursiveWhat has not changed
|
|
Tried twice to clone medley freshly -- both times it failed with: |
|
I'm a little baffled: I can no longer find a place where it was recommended using as those instructions are wrong. The correct instructions are here in the PR After mergingContributors cloning fresh will need: git submodule update --init --recursiveTo advance submodules to latest upstream: git submodule update --remote |
|
I think that if the goal is to have reproducible builds, and to have known compatible maiko and medley code, then the loadup should use the lde/ldex/ldeinit as built in the maiko submodule -- otherwise you're building with something (from outside) that may or may not be related to the vetted lde/ldeinit/ldex source in the submodule. |
|
Does GITFNS have to change? It has some code for finding various clones along ancestor paths. |
|
I freshly cloned the medley repo with |
|
@pamoroso - since the PR hasn't been merged yet, the main branch that you're on doesn't yet have submodules, so you'll need to switch to the PR branch lmm30-use-submodules before doing |
|
I did what you suggested and it worked. |
|
However, now maiko and the other submodule directories are empty. |
|
@pamoroso |
|
Never mind, updating with |
|
I successfully made the apps loadup from the submodules on Linux Mint 22.1 Cinnamon. |
I have some changes to the .gitignore for each submodule repository. I've proposed PRs for each of notecards, test, loops, maiko. I think those PRs will need to be merged BEFORE merging this one (sigh). |
Summary
maiko,notecards,loops, andtestas git submodules, each pinned to the current HEAD of their default branch (masterfor maiko/test,mainfor notecards/loops)maiko/from.gitignoreso it can be tracked as a submodule$MEDLEYDIR/maiko,$MEDLEYDIR/notecards, etc.), so no script changes are neededAfter merging
Contributors cloning fresh will need:
To advance submodules to latest upstream:
🤖 Generated with Claude Code