v0.18.0 #3841
martinvonz
started this conversation in
General
v0.18.0
#3841
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Breaking changes
Dropped support for
ui.default-revset
config (replaced byrevsets.log
in0.8.0).
The
commit_summary_no_branches
template is superseded bytemplates.branch_list
.jj split
will now refuse to split an empty commit.jj config list
now uses multi-line strings and single-quoted strings in theoutput when appropriate.
jj config get
/list
/set
now parsename
argument as TOMLkey. Quote meta characters as needed.
Example:
jj config get "revset-aliases.'trunk()'"
When updating the working copy away from an empty and undescribed commit, it
is now abandoned even if it is a merge commit.
If a new working-copy commit is created because the old one was abandoned, and
the old commit was merge, then the new commit will now also be.
#2859
jj new
's--insert-before
/--insert-after
options must now be set for eachcommit the new commit will be inserted before/after. Previously, those options
were global flags and specifying them once would insert the new commit before/
after all the specified commits.
Deprecations
silently ignored.
New features
jj branch list
/tag list
now accept-T
/--template
option. The tag listprints commit summary along with the tag name by default.
Conflict markers now include an explanation of what each part of the conflict
represents.
ui.color = "debug"
prints active labels alongside the regular colored output.jj branch track
now show conflicts if there are some.A new revset
reachable(srcs, domain)
will return all commits that arereachable from
srcs
withindomain
.There are now prebuilt binaries for
aarch64-linux-unknown-musl
.Note, these are cross compiled and currently untested.
We plan on providing fully tested builds later once our CI system allows it.
Added new revsets
mutable()
andimmutable()
.Upgraded
scm-record
from v0.2.0 to v0.3.0. See release notes athttps://github.com/arxanas/scm-record/releases/tag/v0.3.0
New command
jj fix
that can be configured to update commits by running codeformatters (or similar tools) on changed files. The configuration schema and
flags are minimal for now, with a number of improvements planned (for example,
#3800 and
#3801).
jj new
's--insert-before
and--insert-after
options can now be usedsimultaneously.
jj git push
now can push commits with empty descriptions with the--allow-empty-description
flagFixed bugs
Previously,
jj git push
only made sure that the branch is in the expectedlocation on the remote server when pushing a branch forward (as opposed to
sideways or backwards). Now,
jj git push
makes a safety check in all casesand fails whenever
jj git fetch
would have introduced a conflict.In other words, previously branches that moved sideways or backward were
pushed similarly to Git's
git push --force
; now they have protectionssimilar to
git push --force-with-lease
(though not identical to it, to matchthe behavior of
jj git fetch
). Note also that because of the wayjj git fetch
works,jj
does not suffer from the same problems as Git'sgit push --force-with-lease
in situations whengit fetch
is run in the background.When the working copy commit becomes immutable, a new one is automatically created
on top of it to avoid letting the user edit the immutable one.
jj config list
now properly escapes TOML keys (jj config list
does not escape keys enough to produce valid TOML #1322).Files with conflicts are now checked out as executable if all sides of the
conflict are executable.
The progress bar (visible when using e.g.
jj git clone
) clears theremainder of the cursor row after drawing rather than clearing the entire row
before drawing, eliminating the "flicker" effect seen on some terminals.
Contributors
Thanks to the people who made this release happen!
This discussion was created from the release v0.18.0.
Beta Was this translation helpful? Give feedback.
All reactions