You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
jj is a Git-compatible version control system that is both simple and powerful. See
the installation instructions to get started.
Release highlights
jj run allows you to run a command over a set of changes, each with their
own private working copy; the commands may update the working copy and
changes/conflicts are propagated accordingly, e.g., jj run -- cargo check --all-features or jj run -- cargo fix behaves as one might expect.
Breaking changes
The deprecated git_head() and git_refs() functions have been removed from
revsets and templates.
Git-like symbols (e.g. refs/heads/main) are no longer resolved to
revisions. Use the bookmark/tag <name> or <name>@<remote> syntax instead.
The deprecated ui.revsets-use-glob-by-default option has been removed.
jj bookmark track/untrack no longer supports <kind>:<bookmark>@<remote>
patterns. However, the <bookmark>@<remote> symbol syntax is still supported. #9226
Deprecations
New features
jj show now supports --reversed flag.
jj now looks for config files in /etc/jj.
jj config gc will delete configuration of deleted/moved repos from ~/.config/jj/repos folder. #9362
jj run allows you to run a command over a set of changes, each with their
own private working copy; the commands may update the working copy and
changes/conflicts are propagated accordingly, e.g., jj run -- cargo check --all-features or jj run -- cargo fix behaves as one might expect.
jj gerrit upload now supports the -o (--option) flag, which works like git push -o (--push-option).
jj git fetch now rebases the descendants of revisions that were rewritten
based on their change IDs. Previously, when multiple bookmarked revisions
existed in a stack, those rewritten revisions and their descendants wouldn't
always be rebased. Note that immutable descendants will not be rebased.
Add a forks() revset function that yields all commits with more than 1 child.
colors config now supports crossed-out text styling with { crossed-out = true }.
Fixed bugs
On Windows, querying a path's file identity no longer follows symbolic links,
matching the behavior on Unix. Previously a symlink shared the identity of its
target, so two symlinks pointing at the same target were treated as the same
file. This identity check is used when writing the working copy to detect
aliases of the reserved .git and .jj directories. #8924
jj now creates a new working-copy revision during snapshotting if the
working copy was immutable. Previously, the new revision was created
immediately after the working copy became immutable. #7751 #9338
jj git remote add now warns if the new remote exactly matches an existing
remote's fetch URL or effective push URL. #413
Fixed corrupt loose Git objects on Intel Raptor Lake CPU and aarch64.
Previously, jj could report a successful commit even though git fsck would
later fail with incorrect data check, corrupt loose object, or missing blob, and later jj operations could fail with corrupt deflate stream.
Contributors
Thanks to the people who made this release happen!
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
-
About
jj is a Git-compatible version control system that is both simple and powerful. See
the installation instructions to get started.
Release highlights
jj runallows you to run a command over a set of changes, each with theirown private working copy; the commands may update the working copy and
changes/conflicts are propagated accordingly, e.g.,
jj run -- cargo check --all-featuresorjj run -- cargo fixbehaves as one might expect.Breaking changes
The deprecated
git_head()andgit_refs()functions have been removed fromrevsets and templates.
Git-like symbols (e.g.
refs/heads/main) are no longer resolved torevisions. Use the bookmark/tag
<name>or<name>@<remote>syntax instead.The deprecated
ui.revsets-use-glob-by-defaultoption has been removed.jj bookmark track/untrackno longer supports<kind>:<bookmark>@<remote>patterns. However, the
<bookmark>@<remote>symbol syntax is still supported.#9226
Deprecations
New features
jj shownow supports--reversedflag.jjnow looks for config files in/etc/jj.jj config gcwill delete configuration of deleted/moved repos from~/.config/jj/reposfolder.#9362
jj runallows you to run a command over a set of changes, each with theirown private working copy; the commands may update the working copy and
changes/conflicts are propagated accordingly, e.g.,
jj run -- cargo check --all-featuresorjj run -- cargo fixbehaves as one might expect.jj gerrit uploadnow supports the-o(--option) flag, which works likegit push -o(--push-option).jj git fetchnow rebases the descendants of revisions that were rewrittenbased on their change IDs. Previously, when multiple bookmarked revisions
existed in a stack, those rewritten revisions and their descendants wouldn't
always be rebased. Note that immutable descendants will not be rebased.
Add a
forks()revset function that yields all commits with more than 1 child.colorsconfig now supports crossed-out text styling with{ crossed-out = true }.Fixed bugs
On Windows, querying a path's file identity no longer follows symbolic links,
matching the behavior on Unix. Previously a symlink shared the identity of its
target, so two symlinks pointing at the same target were treated as the same
file. This identity check is used when writing the working copy to detect
aliases of the reserved
.gitand.jjdirectories.#8924
jjnow creates a new working-copy revision during snapshotting if theworking copy was immutable. Previously, the new revision was created
immediately after the working copy became immutable.
#7751
#9338
jj git remote addnow warns if the new remote exactly matches an existingremote's fetch URL or effective push URL.
#413
Fixed corrupt loose Git objects on Intel Raptor Lake CPU and aarch64.
Previously, jj could report a successful commit even though
git fsckwouldlater fail with
incorrect data check,corrupt loose object, ormissing blob, and later jj operations could fail withcorrupt deflate stream.Contributors
Thanks to the people who made this release happen!
This discussion was created from the release v0.43.0.
Beta Was this translation helpful? Give feedback.
All reactions