- 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
source
line 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
repo
flag toemu fork switch
command: 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 push
ing, 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
ssh
if a/openpilot
directory doesn't exist- You need to apply the changes manually in your
/data/community/.bashrc
file from this commit
- You need to apply the changes manually in your
- Add flag to
emu device settings -c
to 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
fork
toemu 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
--force
flag to switch command, same asgit checkout -f
- Fix
shutdown
command 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
release2
tocommaai_release2
(removes danglingrelease2
branch after setup and switching to stock)- We also now add the
release2
branch toinstalled_branches
for the fork soemu fork list
now shows current branch after immediate set up with no switching
- We also now add the
- Add
dragonpilot
as 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 switch
optional. If not specified, it will use the current fork switched to - Add
--branch
(-b
) flag for specifying the branch-
This means you must supply
-b
or--branch
when 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 settings
command 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 switch
andemu fork list
commands 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
origin
tocommaai
so 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.json
so 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 pull
to 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