| # COS Changelog | |
| An application that generates build changelogs and locates the first build containing a CL. | |
| ## Usage | |
| ### Retrieve Changelog | |
| Retrieve the commit changelog between two builds. | |
| Run with `./changelogctl --mode changelog [options] [build-number || image-name] [build-number || image-name]` | |
| Example: `./changelogctl --gob cos.googlesource.com --repo cos/manifest-snapshots cos-rc-85-13310-1034-0 15045.0.0` | |
| ### Find First Build Containing CL | |
| Retrieve the first build containing a CL. | |
| Run with `./changelogctl --mode findbuild [options] [CL-number || commit-SHA]` | |
| Example using CL-Number: `./changelogctl --mode findbuild 3280` | |
| Example using Commit-SHA: `./changelogctl --mode findbuild 18d4ce48c1dc2f530120f85973fec348367f78a0` | |
| ## Commands | |
| `./changelogctl --help` to see a list of commands or get help for one command | |
| ## Global Options | |
| `--mode | -m`: Specifies the query mode. Acceptable values: [changelog || findbuild] | |
| `--gerrit URL`: (optional) Specifies the Gerrit instance to query from, with the `https://` prefix. It will use `https://cos-review.googlesource.com` by default. | |
| `--fallback URL`: (optional) specifies the fallback Gerrit instance to query from, with the `https://` prefix. It will use `https://chromium-review.googlesource.com` by default. | |
| `--gob URL`: (optional) Specifies the Git on Borg instance where manifest-snapshot files are located. It will use `cos.googlesource.com` by default. | |
| `--repo`: (optional) Specifies the repository for manifest-snapshot files within the Git on Borg instance. It will use `cos/manifest-snapshots` by default. | |
| `--debug | -d`: (optional) Enables debug messages. | |
| ## Output | |
| ## Changelog Output | |
| Creates 2 JSON files representing the changelog between 2 given build numbers. Each output file maps repositories to their repository changelog. A repository changelog consists of all the commits in a repository that were present in between the build numbers. | |
| All the commits that were present in the target build number and not present in the source build number are located in `source_build_number -> target_build_number.json`. | |
| All commits that were present in the source build number but not present in the target build number are located in `target_build_num -> source_build_num.json`. | |
| ## FindCL output | |
| Prints the first build number that includes the input CL. | |
| ## Notes | |
| * Changelog only supports Cusky builds. For retrieving changelogs from Pre-Cusky builds, please use go/crosland. | |
| * Changelog only supports image names satisfying the regex `^cos-(dev-|beta-|stable-|rc-)?\d+-([\d-]+)$` |