Path to this page:
Subject: CVS commit: pkgsrc/devel/jj
From: Thomas Klausner
Date: 2023-11-08 14:36:00
Message id: 20231108133600.EF52EFA2F@cvs.NetBSD.org
Log Message:
jj: update to 0.11.0.
Breaking changes
Conflicts are now stored in a different way. Commits written by a new jj
binary will not be read correctly by older jj binaries. The new model
solves some performance problems with the old model. For example, jj log
should be noticeably faster on large repos. You may need to create a new
clone to see the full speedup.
The remote_branches() revset now includes branches exported to the Git
repository (so called Git-tracking branches.) Use
remote_branches(remote=exact:"origin") to query branches of \
certain remote.
Status messages are now printed to stderr.
jj config set now interprets the value as TOML also if it's a valid TOML
array or table. For example, jj config set --user 'aliases.n' '["new"]'
Remote branches now have tracking or non-tracking flags. The
git.auto-local-branch setting is applied only to newly fetched remote
branches. Existing remote branches are migrated as follows:
If local branch exists, the corresponding remote branches are considered
tracking branches.
Otherwise, the remote branches are non-tracking branches.
If the deduced tracking flags are wrong, use jj branch track/untrack
commands to fix them up.
See automatic local branch creation
for details.
Non-tracking remote branches aren't listed by default. Use jj branch list \
--all to show all local and remote branches.
It's not allowed to push branches if non-tracking remote branches of the same
name exist.
Pushing deleted/moved branches no longer abandons the local commits referenced
by the remote branches.
jj git fetch --branch now requires glob: prefix to expand * in branch
name.
New features
jj's stable release can now be installed with cargo binstall jj-cli.
jj workspace add now takes a --revision argument.
jj workspace forget can now forget multiple workspaces at once.
branches()/remote_branches()/author()/committer()/description()
revsets now support glob matching.
jj branch delete/forget/list, and jj git push --branch now support
string pattern syntax. The --glob option
is deprecated in favor of glob: pattern.
The branches/tags/git_refs/git_head template keywords now return a
list of RefNames. They were previously pre-formatted strings.
The new template keywords local_branches/remote_branches are added to show
only local/remote branches.
jj workspace add now preserves all parents of the old working-copy commit
instead of just the first one.
jj rebase -r gained the ability to rebase a revision A onto a descendant
of A.
Fixed bugs
Updating the working copy to a commit where a file that's currently ignored
in the working copy no longer leads to a crash
(#976).
Conflicts in executable files can now be resolved just like conflicts in
non-executable files (#1279).
jj new --insert-before and --insert-after now respect immutable revisions
(#2468).
Files: