v0.8.0 #1874
martinvonz
started this conversation in
General
v0.8.0
#1874
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Breaking changes
The
jujutsu
andjujutsu-lib
crates were renamed tojj-cli
andjj-lib
,respectively.
The
ui.oplog-relative-timestamps
option has been removed. Use theformat_time_range()
template alias instead. For details, seethe documentation.
Implicit concatenation of template expressions has been disabled. Use
++
operator,concat()
, orseparate()
function instead.Example:
description ++ "\n"
jj git push
will consider pushing the parent commit only when thecurrent commit has no content and no description, such as right after
a
jj squash
.The minimum supported Rust version (MSRV) is now 1.64.0.
The
heads()
revset function was split up into two functions.heads()
without arguments is now called
visible_heads()
.heads()
with one argumentis unchanged.
The
ui.default-revset
config was renamed torevsets.log
.The
jj sparse
command was split up intojj sparse list
andjj sparse set
.jj hide
(alias forjj abandon
) is no longer available. Usejj abandon
instead.
jj debug completion
,jj debug mangen
andjj debug config-schema
havebeen moved from
jj debug
tojj util
.jj
will no longer parsebr
as a git_refrefs/heads/br
when a branchbr
does not exist but the git_ref does (this is rare). Use
br@git
instead.jj git fetch
will no longer import unrelated branches from the underlyingGit repo.
New features
jj git push --deleted
will remove all locally deleted branches from the remote.jj restore
without--from
works correctly even if@
is a mergecommit.
jj rebase
now accepts multiple-s
and-b
arguments. Revsets withmultiple commits are allowed with
--allow-large-revsets
.jj git fetch
now supports a--branch
argument to fetch some of thebranches only.
jj config get
command allows retrieving config values for use in scripting.jj config set
command allows simple config edits likejj config set --repo user.email "somebody@example.com"
Added
ui.log-word-wrap
option to wrapjj log
/obslog
/op log
contentbased on terminal width. #1043
Nodes in the (text-based) graphical log output now use a
◉
symbol insteadof the letter
o
. The ASCII-based graph styles still useo
.Commands that accept a diff format (
jj diff
,jj interdiff
,jj show
,jj log
, andjj obslog
) now accept--types
to show only the type of filebefore and after.
jj describe
now supports--reset-author
for resetting a commit's authorto the configured user.
jj describe
also gained a--no-edit
option toavoid opening the editor.
Added
latest(x[, n])
revset function to select the latestn
commits.Added
conflict()
revset function to select commits with conflicts.jj squash
AKAjj amend
now accepts a--message
option to set thedescription of the squashed commit on the command-line.
The progress display on
jj git clone/fetch
now includes the downloaded size.The formatter now supports a "default" color that can override another color
defined by a parent style.
jj obslog
andjj log
now show abandoned commits as hidden.jj git fetch
andjj git push
will now use the single defined remote evenif it is not named "origin".
jj git push
now accepts--branch
and--change
arguments together.jj git push
now accepts a-r/--revisions
flag to specify revisions topush. All branches pointing to any of the specified revisions will be pushed.
The flag can be used together with
--branch
and--change
.jj
with no subcommand now defaults tojj log
instead of showing help. Thiscommand can be overridden by setting
ui.default-command
.Description tempfiles created via
jj describe
now have the file extension.jjdescription
to help external tooling detect a unique filetype.The shortest unique change ID prefixes and commit ID prefixes in
jj log
arenow shorter within the default log revset. You can override the default by
setting the
revsets.short-prefixes
config to a different revset.The last seen state of branches in the underlying git repo is now presented by
jj branch list
/jj log
as a remote calledgit
(e.g.main@git
). They canalso be referenced in revsets. Such branches exist in colocated repos or if
you use
jj git export
.The new
jj chmod
command allows setting or removing the executable bit onpaths. Unlike the POSIX
chmod
, it works on Windows, on conflicted files, andon arbitrary revisions. Bits other than the executable bit are not planned to
be supported.
jj sparse set
now accepts an--edit
flag which brings up the$EDITOR
toedit sparse patterns.
jj branch list
can now be filtered by revset.Initial support for the Watchman filesystem monitor. Set
core.fsmonitor = "watchman"
in your repo to enable.Fixed bugs
Modify/delete conflicts now include context lines
#1244.
It is now possible to modify either side of a modify/delete conflict (any
change used to be considered a resolution).
Fixed a bug that could get partially resolved conflicts to be interpreted
incorrectly.
jj git fetch
: when re-adding a remote repository that had been previouslyremoved, in some situations the remote branches were not recreated.
jj git remote rename
: the git remote references were not rewritten withthe new name. If a new remote with the old name and containing the same
branches was added, the remote branches may not be recreated in some cases.
jj workspace update-stale
now snapshots the working-copy changes beforeupdating to the new working-copy commit.
It is no longer allowed to create branches at the root commit.
git checkout
(without usingjj
) in colocated repo no longer abandonsthe previously checked-out anonymous branch.
#1042.
jj git fetch
in a colocated repo now abandons branches deleted on theremote, just like in a non-colocated repo.
#864
jj git fetch
can now fetch forgotten branches even if they didn't move onthe remote.
#1714
#1771
It is now possible to
jj branch forget
deleted branches.#1537
Fixed race condition when assigning change id to Git commit. If you've
already had unreachable change ids, run
jj debug reindex
.#924
Fixed false divergence on racy working-copy snapshots.
#697,
#1608
In colocated repos, a bug causing conflicts when undoing branch moves (
jj op restore
didn't work in a colocated repo, was undone byjj git import
. #922)has been fixed. Some surprising behaviors related to undoing
jj git push
orjj git fetch
remain.Contributors
Thanks to the people who made this release happen!
This discussion was created from the release v0.8.0.
Beta Was this translation helpful? Give feedback.
All reactions