JJ-FZF 0.42.0.nightly2610162328
Development version - may contain bugs or compatibility issues.
Makefile.mk: bake DIST_VERSION into the tarball, name the checksum file SHA256SUMS # 2026-10-17 Tim Janik 5676904
dist takes DIST_VERSION from gh-release.sh and writes it into the tarball's
.version, so the tarball name, that .version, the installed .version and
`jj-fzf --version` all match. distcheck already compares the --version of
jj-fzf.sfx built from the tarball.
distcheck writes artifacts/SHA256SUMS instead of $(distname).SHA256SUMS.
.github/workflows/gh-release.sh, release-test.sh: pass DIST_VERSION, check SHA256SUMS # 2026-10-17 Tim Janik ce116b3
gh-release.sh runs `make distcheck DIST_VERSION=...`: the tag for annotated
tags, the tag plus -g<hash> for lightweight tags, since those may move or
vanish. It checks that artifacts/SHA256SUMS lists $PROJECT-$DIST_VERSION
assets. A fixed name lets download scripts fetch SHA256SUMS without knowing
the asset names.
A lightweight tag may differ from .version unless HEAD has an annotated
version tag. The top NEWS.md entry gives the notes whenever its version
matches the tag, also for lightweight tags. extract_version() stops at the
first '## ' heading, so '## Unreleased' on top is no match, and accepts
major versions with several digits.
release-test.sh covers these and checks that .version ignores a nightly tag.
.version: describe from annotated tags only # 2026-10-17 Tim Janik b5b0fb3
With %(describe:tags), a lightweight nightly tag became the base for every
later commit, so trunk builds and GitHub source downloads were named after
the nightly tag. Releases from lightweight tags get their version from
DIST_VERSION instead.
tests/regressions.sh: remove test-version-metadata # 2026-10-17 Tim Janik a167809
Regression tests cover jj-fzf behavior. Versioning is checked by
release-test.sh, and installcheck and distcheck compare `jj-fzf --version`
with the version make uses.
Merge branch 't3code/screencast-isolation' # 2026-10-14 Tim Janik 1237e73
* Branch commit log:
README.md: describe the current screencast flows
screencasts/megamerge.sh: rewrite for current jj-fzf keys and dialogs, check results
screencasts/merging.sh: rewrite for Tab selection and Ctrl-N merges, check results
screencasts/splitting.sh: port to start_screencast and current jj-fzf keys, check results
screencasts/rebasing.sh: port to start_screencast and current jj-fzf keys, check results
screencasts/intro.sh: port to start_screencast and current jj-fzf keys
screencasts/prepare.sh: make_repo: use jj revert, jj backout was removed
screencasts/prepare.sh: run screencasts on a private tmux server
screencasts/prepare.sh: keep user config and environment out of screencasts
Merge branch 'test-squash-and-inject' # 2026-10-13 Tim Janik 991241d
* Branch commit log:
tests/features.sh: add tests for squash and inject hotkeys
tests/utils.sh: add get_tree_id() to compare commit content across rebases
Merge branch 'jj-0.45 and nightly distcheck' # 2026-10-13 Tim Janik bbc50c1
* Branch commit log:
.github/workflows/distcheck.yml: run make distcheck every night
Run only if trunk got a new commit in the last 25 hours, or when
started by hand. Install the same packages as ci.yml, upload the
artifacts and ping IRC when done.
preflight.sh: require jj-0.45.0
Merge branch 'fix tests' # 2026-10-09 Tim Janik 3ae87c9
* Branch commit log:
tests/regressions.sh: remove test-oplog-info-all-changes, it only tested oplog
tests/utils.sh: isolate_config(): keep user config and environment out of tests