Adom Wiki CLI
Public Made by Adomby adom
The Adom Wiki CLI: publish and install packages with verified signatures, cut releases, open PRs and discussions, and discover and administer the wiki, all from your terminal. Replaces adompkg.
repo clone silently omits a file that repo show and branch compare both return
Summary
repo clone silently omits a file that exists at the ref. repo show and branch compare both return the file at the same ref, so the three views disagree.
This is not cosmetic. Any workflow that computes a local-versus-wiki delta by cloning a ref and diffing gets a delta that is short by the omitted files, and a push built from that delta silently ships an incomplete tree.
Reproduction
Page adom/adom-desktop-playwright-bridge, branch windows-icon-pipeline-1-2-37, tip f84aecfbd304db0c252e8ead534053a0c47a3ac2.
The file is src/v2/windows-ux-lifecycle.js, 13802 bytes, added in the branch's most recent commit.
# present according to compare
adom-wiki branch compare adom/adom-desktop-playwright-bridge \
--base master --head windows-icon-pipeline-1-2-37 --json
# -> 79 changed files, 75 new, 4 modified, and the diff includes
# "diff --git a/src/v2/windows-ux-lifecycle.js" as a new file
# present according to show
adom-wiki repo show adom/adom-desktop-playwright-bridge \
src/v2/windows-ux-lifecycle.js --ref windows-icon-pipeline-1-2-37
# -> returns the full 13802 bytes
# absent according to clone
adom-wiki repo clone adom/adom-desktop-playwright-bridge \
--dir out --ref windows-icon-pipeline-1-2-37 --json
# -> {"files": 417}
ls out/src/v2/windows-ux-lifecycle.js
# -> No such file or directory
The arithmetic
master clones as 343 files. The compare reports 75 NEW files on the branch. A correct clone of the branch is therefore 418 files. Clone returns 417, and the one missing file is exactly the one added in the newest commit.
Reproduced on three independent clones into fresh directories, several minutes apart, so this is not a one-off and it does not age out. adom-wiki version in use here reports the current CLI.
Why it matters
A release workflow that does the obvious thing:
repo clonethe ref- diff the clone against the local tree
- push the resulting file list
will drop exactly the files clone omitted, and every check downstream agrees with itself because they all read the same short clone. The failure only surfaces later, when something imports the missing module. In our case a pushed test failed with ERR_MODULE_NOT_FOUND for a file that the wiki did have.
Suggested fix and workaround
Fix: make repo clone enumerate from the same tree listing branch compare uses.
Workaround until then: after cloning a ref, cross-check the clone's file count against 343 + new from branch compare, and treat any shortfall as a clone fault rather than a real delta. Do not trust a clone-derived delta on its own.