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

Example Workflow

Important

tagit currently uses only 1.2.3 tags for versions, not v1.2.3. This is highly unlikely to change, except for maybe the major-only v1 in addition to 1, because of compatibility (some tools misunderstand 1 as short hash)

Important

You need upstream remote set up to use anything with tagit.

Init

tagit changelog init

Make changes

Note

tagit isn’t used in this section, but it later uses the changes we make here.

edit stuff

vim src/somefile.rs

mention that in the changelog within the [Unreleased] section

vim CHANGELOG.md

bump the version; if you’re on 1.2.3, bump to 1.2.4-a.0; if you’re on 1.2.4-a.0, bump to 1.2.4-a.1; and so on…

vim Cargo.toml

update Cargo.lock

cargo clippy

commit (or skip directly to the next section)

git add src/somefile.rs CHANGELOG.md Cargo.toml Cargo.lock
# or just git add .
git commit -m "..." # write what changed instead of `...`

Prepare release

if necessary, bump to a non-prerelease version; if you’re on 1.2.4-a.1, then bump to 1.2.4

vim Cargo.toml
cargo clippy

re-arrange the changelog

tagit changelog

commit

git add CHANGELOG.md Cargo.toml Cargo.lock
# or just git add .
git commit -m "..." # instead of `...`, write either what changed or release version
git push

update tags

tagit tag

assuming you’ve set up CI with https://codeberg.org/parrrate/forgejo-release, the changelog will show up in the release