fix(cli): restore implementation hunks dropped by merge resolutions - #97
Merged
srpatcha merged 1 commit intoSep 1, 2026
Merged
Conversation
`import ebuild.cli.commands` raises NameError on master, so the `ebuild` command does not start and pytest cannot collect nine test modules -- the suite reports "9 errors during collection" and runs zero tests. Four PRs landed their tests while their implementation was discarded during conflict resolution, and the merges that did it were not gated by a run: f5209ac, current master, has no CI runs at all. embeddedos-org#64 (6a22e36) tests/unit/test_golden_path_commands.py landed; _workspace_repo_paths, _cached_repo_libraries, _record_board_selection, _EOS_PROJECT_CONFIG and the `configure --board` option did not. embeddedos-org#89 (32348f0) commands.py gained five `re.` uses, no `import re`. embeddedos-org#90 (d3958f7) the initramfs test kept its assertions but lost its `_newc_members` helper and its `os` / `stat` imports. embeddedos-org#92 registry.version_key was renamed version_sort_key without updating its caller in the tests. Restoring them, taken verbatim from the branches that were merged: * commands.py: `import re`; `_workspace_repo_paths`, `_cached_repo_libraries`, `_record_board_selection`, `_EOS_PROJECT_CONFIG`; the `--board` option on `configure` and the call that persists it; and the `{**_workspace_repo_paths(), **...}` merge at both `_install_packages` call sites. Without that last hunk a scaffolded project that `use`s eos or eboot gets no include or link paths from ~/.ebuild/repos, which is the "fatal error: eos/hal.h: No such file or directory" that embeddedos-org#64 fixed. Without the option, the documented golden path -- `configure --board` then a bare `build` -- fails with "no such option: --board". * the initramfs test: `os` / `stat` imports and the `_newc_members` newc parser the assertions call. * test_package_registry.py: import the name the module now exports. Collection goes from 9 errors / 0 tests to 446 passing. The 12 that still fail are pre-existing and out of scope here: `doctor` (embeddedos-org#72) and `package` (embeddedos-org#77) are two more features whose implementations the same merges dropped and which should be restored by their authors, and the rest are separate bugs -- see the PR description. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This was referenced Sep 1, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
master is broken right now
ebuilddoes not start, and the test suite runs zero tests:Why
Four PRs landed their tests while their implementation was discarded during conflict resolution. The merges that did it were never gated by a run —
f5209ac, the current master head, has no CI runs at all.6a22e36test_golden_path_commands.py_workspace_repo_paths,_cached_repo_libraries,_record_board_selection,_EOS_PROJECT_CONFIG,configure --board32348f0re.usesimport red3958f7_newc_membershelper,os/statimportsversion_key→version_sort_keyrenameVerifiable per-symbol — for #64, present on the branch, absent on the merge result:
Two user-visible regressions this restores
package_pathslost its{**_workspace_repo_paths(), **_install_packages(...)}merge, so a scaffolded project thatuses eos or eboot gets no include or link paths from~/.ebuild/repos— back tofatal error: eos/hal.h: No such file or directory, the exact bug fix(mvp): repair the first-run developer path #64 fixed.configurelost--boardentirely, so the documented golden path (configure --board stm32f4then a barebuild) fails withno such option: --board.What this PR does
Restores those hunks verbatim from the branches that were merged — no new design. Every restored function keeps its original docstring.
Result
Still failing (pre-existing, out of scope)
doctor(feat(cli): addebuild doctor— one-command environment diagnosis #72) andpackage(feat(cli): addebuild package— assemble the eFirmware .efw image #77) are two more features whose implementations the same merges dropped; they are 400+ line features and should be restored by their authors rather than re-landed here. Neither command is registered on master today._shared_flag/-dynamiclibon macOS.test_measures_a_real_binary(assert 0 >= 4096).version_sort_key("1.2.11") < version_sort_key("1.2.11b")is inverted:_component_key("11b")returns(0, 0, '11b'), which sorts below(1, 11, ''). OpenSSL-style letter suffixes should sort above their base.REPOSpoints at default branchmain, butembeddedos-org/eoshas nomain;ebuild setupfails for every new developer.Happy to take the last two in follow-ups.
🤖 Generated with Claude Code