- Support comma three, which has its .bashrc located elsewhere.
- Nicer user-facing installation process
- Clean up installation logic:
- Minimal modification to the system .bashrc file, only one
sourceline is appended to the community .bashrc - Much safer: the previous installer moved the system .bashrc file to a permanently rw partition
- Minimal modification to the system .bashrc file, only one
- Add
emu debug reload(or simplyreload) command to restart openpilot without needing to reboot your device.
- Add
repoflag toemu fork switchcommand: if a repository's name isn't openpilot and isn't a GitHub fork (no name redirection), you can use this option the first time you switch to the fork (remembers URL after that).
- Remember user's GitHub credentials for 1 day (for pushing)
- When
git pushing, Git will no longer bother you about your local branch's name not matching the remote's- You need to re-set up fork management for these two improvements
- Fix issue where it would lock user out from
sshif a/openpilotdirectory doesn't exist- You need to apply the changes manually in your
/data/community/.bashrcfile from this commit
- You need to apply the changes manually in your
- Add flag to
emu device settings -cto close settings app - Use most similar remote branch (using difflib) if user types unknown close branch
- Use existing function in CommandBase for getting flags, exits if fails so no need to catch errors in each command that has flags
- Alias
forktoemu fork switch. Ex.:fork stock -b devel
- Force reinitializes when submodules detected on the branch we're switching to
- Fixes openpilot not starting when switching away and back to a branch with submodule
- Show what git is doing when switching branches (make checkout verbose)
- Speed up switching by ~300ms by only pruning once every 24 hrs.
- Add
--forceflag to switch command, same asgit checkout -f - Fix
shutdowncommand happily taking any argument without error, defaulting to shutdown when not-r - Add x emoji (❌) prepended to all errors using error function, makes errors stand out more.
- Don't fetch in new sessions while cloning
- Clean up update screen
- Exception catching:
- When user enters branch for fork switch without the -b flag
- KeyboardInterrupt exception while cloning
- On first setup we now rename local branch
release2tocommaai_release2(removes danglingrelease2branch after setup and switching to stock)- We also now add the
release2branch toinstalled_branchesfor the fork soemu fork listnow shows current branch after immediate set up with no switching
- We also now add the
- Add
dragonpilotas an alias todragonpilot-community/dragonpilot
- Fix "branch you specified does not exist" error due to deleted remote branches
- Also add a prompt to prune the local branches that have deleted on the remote
- Run user's switch command after fork management setup
- More verbose fork switching, shows git output
- Only print newline when more information about command is available to better differentiate between commands
- Auto updater will check for updates. This is based on .oh-my-zsh's check_for_upgrade.sh
- Add device command aliases: battery, settings, shutdown
- Make the username argument under
emu fork switchoptional. If not specified, it will use the current fork switched to - Add
--branch(-b) flag for specifying the branch-
This means you must supply
-bor--branchwhen switching branches, even when supplying the username:Old syntax: emu fork switch another_fork branch New syntax: emu fork switch another_fork -b branch Old syntax: emu fork switch same_fork new_branch New syntax: emu fork switch -b new_branch
-
- Add
emu device settingscommand to open the settings app
- Make flags/arguments more robust. Optional non-positional arguments are now supported, as long as they are the last arguments.
emu fork switchandemu fork listcommands added. Uses one singular git repo and adds remotes of forks so that the time to install a new fork is reduced significantly since git is able to re-use blobs.- A one-time setup is required when using the fork command, this full clones commaai/openpilot which may take a bit of time on first use.
- Change remote of
origintocommaaiso that no additional logic is required. Aliases of stock openpilot are:['stock', 'commaai', 'origin'] - Stores all installed forks and forks' branches in
/data/community/forks.jsonso that the forks command can easily identify when it needs to track and create a branch or just check it out. - You should still run
git pullto make sure you get the latest updates from the fork you're currently switched to.
- Dynamic loading of commands. If a command has an exception loading, it won't crash the CLI. Instead you will see an error when you try to call
emu