blob: 1739acf945a03732294ac088d809d430a71e764e [file] [view]
# 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).