-
jj git fetch now shows details of abandoned commits (change IDs and
descriptions) by default, matching the jj abandon output format.
#3081
-
jj workspace root now accepts an optional --name argument to show
the root path of the specified workspace (defaults to the current one). When
given a workspace that was created before this release, it errors out.
-
jj git push --bookmark <name> will now automatically track the bookmark if
it isn't tracked with any remote already.
-
Add git_web_url([remote]) template function that converts a git remote URL
to a web URL, suitable for opening in a browser. Defaults to the "origin"
remote.
-
New divergent() revset function for divergent changes.
-
String pattern values in revsets and templates can now be substituted by
aliases. For example, grep(x) = description(regex:x) now works.
-
A new config option remotes.<name>.auto-track-created-bookmarks behaves
similarly to auto-track-bookmarks, but it only applies to bookmarks created
locally. Setting it to "*" is now the closest replacement for the deprecated
git.push-new-bookmarks option.
-
jj tag list can now be filtered by revset.
-
Conflict markers will use LF or CRLF as the line ending according to the
contents of the file.
#7376
-
New experimental jj git fetch --tag flag to fetch tags in the same way as
bookmarks. If specified, tags won't be fetched implicitly, and only tags
matching the pattern will be fetched as <name>@<remote> tags. The fetched
remote tags will be tracked by the local tags of the same name.
-
New remote_tags() revset function to query remote tags.
-
New builtin hyperlink() template function that gracefully falls back to
text when outputting to a non-terminal, instead of emitting raw OSC 8 escape
codes. #7592