Repository navigation
[cli] Stick to unmount as a command name - #5332
Conversation
Switch the roles of the terms "umount" and "unmount" in the `unmount` cmd: use `unmount` as the command's name and `umount` as an alias.
There was a problem hiding this comment.
Copilot review overview
🔵 Needs a closer look
Correct the legacy documentation redirect target in docs/conf.py.
Review effort: Lite
Findings: None
What changed in this PR
Updates Multipass to make unmount the canonical command while retaining umount as an alias.
Changes:
- Updates CLI behavior, help tests, and Bash completion.
- Revises documentation and legacy URL redirect configuration.
| File | Summary |
|---|---|
tests/cli/cli_help_test.py |
Updates expected help output. |
src/client/cli/cmd/umount.cpp |
Makes unmount canonical and retains umount as an alias. |
docs/reference/command-line-interface/unmount.md |
Updates the command reference. |
docs/reference/command-line-interface/mount.md |
Updates related references. |
docs/how-to-guides/manage-instances/use-the-primary-instance.md |
Updates usage examples. |
docs/how-to-guides/manage-instances/share-data-with-an-instance.md |
Updates unmount instructions. |
docs/explanation/platform.md |
Updates platform references. |
docs/explanation/instance.md |
Updates primary-instance guidance. |
docs/conf.py |
Adds a legacy URL redirect; its target requires correction. |
completions/bash/multipass |
Updates command completion. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #5332 +/- ##
==========================================
- Coverage 72.51% 72.31% -0.20%
==========================================
Files 339 341 +2
Lines 18385 18491 +106
==========================================
+ Hits 13330 13369 +39
- Misses 5055 5122 +67 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
|
@geoffreynyaga, could I get your eyes on the docs part for this one please? In particular the redirect: it worked locally on my testing, but I was a little surprised to find no other redirects in the same place. Also, copilot complained about "legacy documentation redirect target" even though it didn't make a specific comment. Anything you think is missing? Thanks in advance. |
Change the ALL_COMMANDS constant to have a tuple as the first element of each of its pairs and flatten it out when getting commands to test. This accommodates upcoming command aliases.
| (("unalias",), "Remove aliases"), | ||
| (("unmount", "umount"), "Unmount a directory from an instance"), | ||
| (("version",), "Show version details"), | ||
| (("wait-ready",), "Wait for the Multipass daemon to be ready"), |
There was a problem hiding this comment.
1.17 is going to be released soon, at which point we will drop support for testing earlier versions. I am adding a "no-merge" label for now.
Remove obsolete special-case handling for the wait-ready command in CLI help tests. It has been supported for some time now.
Fix help tests not to require command aliases to show in the help text. The aliases should work with help, but only the main command name needs to show in the output.
|
This needs to wait for 1.17 to be out before merging. Alternatively, I could put the special handling for |
|
Hey @Laefy, I ended up using "unmount" in the mount tests and parameterizing one of them to cover "umount" as well. Here's a successful run https://github.com/canonical/multipass/actions/runs/36763469836 See commit messages for more details. |
Laefy
left a comment
There was a problem hiding this comment.
It's all good! Thank you :)
@ricab Everything looks good to me. The redirect implementation is also correct and I can confidently say that this was a copilot error. Sphinx-reredirects extension expects either relative or absolute paths in the dictionary and you implemented it well. <html><head><noscript><meta http-equiv="refresh" content="0; url=../unmount/" /></noscript><script>var target = "../unmount/";if (window.location.hash) {window.location.replace(target + window.location.hash);} else {window.location.replace(target);}</script></head></html>I have also manually tested the old url and the redirect is in place. All good! |
|
Ugh, what is going on? 🤔 @copilot any ideas? |
From the thread, the docs redirect looks correct: |
|
@copilot, I was referring to the repeated "no response for status checks" just 1 or 2 minutes after this is added to the merge queue. Any idea what could be causing that? |
|
@copilot any ideas why we keep getting "no response for status checks" just 1 or 2 minutes after this PR is added to the merge queue? |
Actions shows merge-group checks were triggered; the long build/test matrix was still running, and one newer queue run was cancelled while an earlier run remained active. I can’t identify a definitive cause for GitHub’s “no response” message from these logs alone. Please compare the branch ruleset’s required check names against the contexts emitted on the synthetic merge-group commit.
I checked the merge-queue Actions runs. The |


Description
Use "unmount" as the name of the Multipass command, keeping "umount"
as an alias. Update docs and bash-completion accordingly.
Related Issue(s)
Closes #5331
MULTI-2695
Testing
Unit tests
Manual testing steps:
multipass helpmultipass unmountmultipass umountmake runin docs folderChecklist
Additional Notes
Like before, the
--helpand--verboseoptions are not offered byauto-completion after a command alias. This is now the case for
umountrather than
unmount.