Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Commands

tagit tag

Updates repository tags in accordance with workspace's package manifests.

Normal way to run it is:

tagit tag

caution

By default, this will tag all packages that it can find. See tagit.skip config.

If you cannot enable commit signing on your system, you'll have to actively opt out:

tagit tag --sign=false

note

tagit forces signing by default to avoid accidentally missing a signature. This is because of how parrrate uses tagit internally.

To check what tagit tag is going to do without applying any changes, use --dry-run:

tagit tag --dry-run

Retagging

By default, all stable releases (ones without the pre-release segment), when a new tag is created for them, also update related Rust-style SemVer tags:

  • If --no-retag is used, no extra tags are created or updated.
  • If tag without +metadata doesn't exist, it gets created.
  • If --total-order is used, tag without +metadata gets updated.
  • A.B.C with A greater than or equal to 1 updates A.B and A
  • 0.B.C with B greater than or equal to 1 updates 0.B

Changelog

When a new tag is created, its message is pulled from the related section of the CHANGELOG.md.

warning

If anything goes wrong at this step, it's possible that it'll get silently ignored.

tagit changelog

Rearranges the CHANGELOG.md file in all workspace members:

tagit changelog

tip

It's recommended to stage your manual changes before auto-rearrangement, to ensure tagit changelog is non-destructive.

To check that the changelog is valid without applying any changes, use --dry-run:

tagit tag --dry-run

Just like with tagit tag, versions are parsed from package manifests.

Changelog format

We use https://keepachangelog.com/en/1.1.0/ as the basis.

# Changelog

## [Unreleased]

### Added

- (feature)

- (feature)

## [1.0.1]

### Added

- (feature)

### Changed

- (behaviour change)

### Deprecated

- (something planned to be removed)

### Removed

- (something removed)

### Fixed

- (fix)

### Security

- (fix)

## [1.0.0]

(base version)

[unreleased]: (base)/compare/(tag_prefix)1.0.1...HEAD
[1.0.1]: (base)/compare/(tag_prefix)1.0.0...(tag_prefix)1.0.1
[1.0.0]: (base)/releases/tag/(tag_prefix)1.0.0

important

Deviations from the format usually lead to errors. We don't try to correct them.