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
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Breaking changes
The
jujutsuandjujutsu-libcrates were renamed tojj-cliandjj-lib,respectively.
The
ui.oplog-relative-timestampsoption 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 pushwill 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-revsetconfig was renamed torevsets.log.The
jj sparsecommand was split up intojj sparse listandjj sparse set.jj hide(alias forjj abandon) is no longer available. Usejj abandoninstead.
jj debug completion,jj debug mangenandjj debug config-schemahavebeen moved from
jj debugtojj util.jjwill no longer parsebras a git_refrefs/heads/brwhen a branchbrdoes not exist but the git_ref does (this is rare). Use
br@gitinstead.jj git fetchwill no longer import unrelated branches from the underlyingGit repo.
New features
jj git push --deletedwill remove all locally deleted branches from the remote.jj restorewithout--fromworks correctly even if@is a mergecommit.
jj rebasenow accepts multiple-sand-barguments. Revsets withmultiple commits are allowed with
--allow-large-revsets.jj git fetchnow supports a--branchargument to fetch some of thebranches only.
jj config getcommand allows retrieving config values for use in scripting.jj config setcommand allows simple config edits likejj config set --repo user.email "[email protected]"Added
ui.log-word-wrapoption to wrapjj log/obslog/op logcontentbased 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--typesto show only the type of filebefore and after.
jj describenow supports--reset-authorfor resetting a commit's authorto the configured user.
jj describealso gained a--no-editoption toavoid opening the editor.
Added
latest(x[, n])revset function to select the latestncommits.Added
conflict()revset function to select commits with conflicts.jj squashAKAjj amendnow accepts a--messageoption to set thedescription of the squashed commit on the command-line.
The progress display on
jj git clone/fetchnow includes the downloaded size.The formatter now supports a "default" color that can override another color
defined by a parent style.
jj obslogandjj lognow show abandoned commits as hidden.jj git fetchandjj git pushwill now use the single defined remote evenif it is not named "origin".
jj git pushnow accepts--branchand--changearguments together.jj git pushnow accepts a-r/--revisionsflag to specify revisions topush. All branches pointing to any of the specified revisions will be pushed.
The flag can be used together with
--branchand--change.jjwith no subcommand now defaults tojj loginstead of showing help. Thiscommand can be overridden by setting
ui.default-command.Description tempfiles created via
jj describenow have the file extension.jjdescriptionto help external tooling detect a unique filetype.The shortest unique change ID prefixes and commit ID prefixes in
jj logarenow shorter within the default log revset. You can override the default by
setting the
revsets.short-prefixesconfig to a different revset.The last seen state of branches in the underlying git repo is now presented by
jj branch list/jj logas 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 chmodcommand 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 setnow accepts an--editflag which brings up the$EDITORtoedit sparse patterns.
jj branch listcan 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-stalenow 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 fetchin a colocated repo now abandons branches deleted on theremote, just like in a non-colocated repo.
#864
jj git fetchcan now fetch forgotten branches even if they didn't move onthe remote.
#1714
#1771
It is now possible to
jj branch forgetdeleted 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 restoredidn't work in a colocated repo, was undone byjj git import. #922)has been fixed. Some surprising behaviors related to undoing
jj git pushorjj git fetchremain.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