| # JIRI |
| |
| [TOC] |
| |
| ## How Do I |
| |
| ### rebase current tracked branch instead of fast-forwarding it |
| |
| `jiri update -rebase-tracked` |
| |
| ### rebase all my branches |
| |
| Run `jiri update -rebase-all`. This will not rebase un-tracked branches. |
| |
| ### rebase my untracked branches |
| |
| Run `jiri update -rebase-untracked` to rebase your current un-tracked branch. To rebase all un-tracked branches use `jiri update -rebase-all -rebase-untracked`. |
| |
| ### test my local manifest changes |
| |
| `jiri update -local-manifest` |
| |
| ### stop jiri from updating my project |
| |
| Use `jiri project-config`. [See this](/behaviour.md#intended-project-config) for it's intended behavior. |
| Current config can be displayed using command `jiri project-config`. |
| To change a config use |
| ``` |
| jiri project-config [-flag=true|false] |
| ``` |
| where flags are `-ignore`, `no-rebase`, `no-update` |
| |
| ### check if all my projects are on `JIRI_HEAD` {#use-jiri-status} |
| |
| Run `jiri status ` for that. This command returns all projects which are not on `JIRI_HEAD`, or have un-merged commits, or have un-committed changes. |
| |
| To just get projects which are **not** on **JIRI_HEAD** run |
| ``` |
| jiri status -changes=false -commits=false |
| ``` |
| ### run a command inside all my projects |
| |
| `jiri runp [command]` |
| |
| ### grep across projects |
| |
| Run `jiri grep [text]`. Run `jiri help grep` to see supported flags. |
| |
| ### Run hooks without updating sources |
| `jiri run-hooks` |
| |
| ### Set hook timeout |
| `jiri update -hook-timeout=<minutes>` or `jiri run-hooks -hook-timeout=<minutes>` |
| |
| ### delete branch across projects |
| |
| Run `jiri branch -d [branch_name]`, this will run `git branch -d [branch_name]` in all the projects. `-D` can also be used to replicate functionality of `git branch -D`. |
| |
| ### delete merged branches |
| `jiri branch -delete-merged` |
| |
| ### delete merged branches with different commits |
| Run `jiri branch -delete-merged-cl`. This will check gerrit and delete all those branches whose commits have been submitted, by matching gerrit change list ID. **Use this with caution**. |
| |
| ### get projects and branches other than main |
| |
| `jiri branch` |
| |
| ### find difference between two snapshots |
| Run `jiri diff <old_snapshot> <new_snapshot>`. *old_snapshot* and *new_snapshot* can be file paths or urls. |
| |
| ### download whole gerrit topic |
| |
| `jiri patch -topic <topic>` |
| |
| ### update jiri without updating projects |
| |
| `jiri selfupdate` |
| |
| ### use upload to push CL |
| |
| [See This](/README.md#Gerrit-CL-workflow) |
| |
| ### get JIRI_HEAD revision of a project |
| |
| `git rev-parse JIRI_HEAD` from inside the project. |
| |
| ### get current revision of a project |
| |
| `jiri project [project-name]` |
| |
| ### clean project(s) |
| |
| Run `jiri project [-clean|clean-all] [project-name]`. See it's [intended behaviour](/behaviour.md#intended-project-clean). |
| |
| ### get help |
| |
| Run `jiri help` to see all the commands and `jiri help [command]` to get help for that command. |
| |
| To provide feedback [see this](/behaviour.md#feedback). |