v0.20.0 #4233
martinvonz
started this conversation in
General
v0.20.0
#4233
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Note to packagers
jj
now linkslibgit2
statically by default. To use dynamic linking, youneed to set the environment variable
LIBGIT2_NO_VENDOR=1
while compiling.(#4163)
Breaking changes
jj rebase --skip-empty
has been renamed tojj rebase --skip-emptied
jj backout --revision
has been renamed tojj backout --revisions
.The short alias
-r
is still supported.The default
immutable_heads()
setnow includes
untracked_remote_branches()
with the assumption that untrackedbranches aren't managed by you. Therefore, untracked branches are no longer
displayed in
jj log
by default.Updated defaults for graph node symbol templates
templates.log_node
andtemplates.op_log_node
.The "fileset" language is now enabled by default. It can
still be disable by setting
ui.allow-filesets=false
.On
jj git fetch
/import
, commits referred to byHEAD@git
are no longerpreserved. If a checked-out named branch gets deleted locally or remotely, the
corresponding commits will be abandoned.
jj --at-op=@
no longer merges concurrent operations if explicitly specified.jj obslog -p
no longer shows diffs at non-partial squash operations.Previously, it showed the same diffs as the second predecessor.
Deprecations
jj fix
is now deprecated in favor ofone that allows defining multiple tools that can affect different filesets.
These can be used in combination for now. See
jj help fix
for details.New features
External diff tools can now be configured to invoke the tool on each file
individually instead of being passed a directory by setting
merge-tools.$TOOL.diff-invocation-mode="file-by-file"
in config.toml.In git diffs, word-level hunks are now highlighted with underline. See diff
colors and styles for customization.
New
.diff().<format>()
commit template methods are added. They can be usedin order to show diffs conditionally. For example,
if(current_working_copy, diff.summary())
.jj git clone
andjj git init
with an existing git repository adds thedefault branch of the remote as repository settings for
revset-aliases."trunk()"
.`jj workspace forget
now abandons the workspace's working-copy commit if itwas empty.
jj backout
now includes the backed out commit's subject in the new commitmessage.
jj backout
can now back out multiple commits at once.jj git clone some/nested/path
now creates the full directory tree fornested destination paths if they don't exist.
String patterns now support case‐insensitive matching by suffixing any
pattern kind with
-i
.mine()
uses case‐insensitive matching on your emailaddress unconditionally. Only ASCII case folding is currently implemented,
but this will likely change in the future.
String patterns now support
regex:"pattern"
.New
tracked_remote_branches()
anduntracked_remote_branches()
revsetfunctions can be used to select tracked/untracked remote branches.
The
file()
revset function now accepts fileset as argument.New
diff_contains()
revset function can be used to search diffs.New command
jj operation diff
that can compare changes made between twooperations.
New command
jj operation show
that can show the changes made in a singleoperation.
New config setting
git.private-commits
to prevent commits from being pushed.The default commit description template
can now be configured by
templates.draft_commit_description
.jj fix
can now be configured to run different tools on different filesets.This simplifies the use case of configuring code formatters for specific file
types. See
jj help fix
for details.Added revset functions
author_date
andcommitter_date
.jj describe
can now update the description of multiple commits.Fixed bugs
jj status
will show different messages in a conflicted tree, dependingon the state of the working commit. In particular, if a child commit fixes
a conflict in the parent, this will be reflected in the hint provided
by
jj status
jj diff --git
no longer shows the contents of binary files.Windows binaries no longer require
vcruntime140.dll
to be installed(normally through Visual Studio.)
On quit, the builtin pager no longer waits for all outputs to be discarded.
jj branch rename
no longer shows a warning in colocated repos.Contributors
Thanks to the people who made this release happen!
This discussion was created from the release v0.20.0.
Beta Was this translation helpful? Give feedback.
All reactions