v0.37.0 #8535
thoughtpolice
started this conversation in
General
v0.37.0
#8535
Replies: 1 comment 3 replies
-
|
My bugfix from #8414 is not present in |
Beta Was this translation helpful? Give feedback.
3 replies
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.
-
About
jj is a Git-compatible version control system that is both simple and powerful. See
the installation instructions to get started.
Release highlights
A new syntax for referring to hidden and divergent change IDs is available:
xyz/nwherenis a number. For instance,xyz/0refers to the latestversion of
xyz, whilexyz/1refers to the previous version ofxyz.This allows you to perform actions like
jj restore --from xyz/1 --to xyztorestore
xyzto its previous contents, if you made a mistake.For divergent changes, the numeric suffix will always be shown in the log,
allowing you to disambiguate them in a similar manner.
Breaking changes
String patterns in revsets, command
arguments, and configuration are now parsed as globs by default. Use
substring:orexact:prefix as needed.remotes.<name>.auto-track-bookmarksis now parsed the same way theyare in revsets and can be combined with logical operators.
jj bookmark track/untracknow accepts--remoteargument. If omitted, allremote bookmarks matching the bookmark names will be tracked/untracked. The
old
<bookmark>@<remote>syntax is deprecated in favor of<bookmark> --remote=<remote>.On Windows, symlinks that point to a path with
/won't be supported. Thispath is invalid on Windows.
The template alias
format_short_change_id_with_hidden_and_divergent_info(commit)has been replaced by
format_short_change_id_with_change_offset(commit).The following deprecated config options have been removed:
git.push-bookmark-prefixui.default-descriptionui.diff.formatui.diff.toolThe deprecated
commit_id.normal_hex()template method has been removed.Template expansion that did not produce a terminating newline will not be
fixed up to provide one by
jj log,jj evolog, orjj op log.The
diffconflict marker style can now use\\\\\\\markers to indicatethe continuation of a conflict label from the previous line.
Deprecations
git_head()andgit_refs()functions will be removed from revsets andtemplates.
git_head()should point to thefirst_parent(@)revision incolocated repositories.
git_refs()can be approximated asremote_bookmarks(remote=glob:*) | tags().New features
Updated the executable bit representation in the local working copy to allow
ignoring executable bit changes on Unix. By default we try to detect the
filesystem's behavior, but this can be overridden manually by setting
working-copy.exec-bit-change = "respect" | "ignore".jj workspace addnow also works for empty destination directories.jj git remotefamily of commands now supports different fetch and push URLs.[colors]table now supportsdim = trueattribute.In color-words diffs, context line numbers are now rendered with decreased
intensity.
Hidden and divergent commits can now be unambiguously selected using their
change ID combined with a numeric suffix. For instance, if there are two
commits with change ID
xyz, then one can be referred to asxyz/0and theother can be referred to as
xyz/1. These suffixes are shown in the log whennecessary to make a change ID unambiguous.
jj util gcnow prunes unreachable files in.jj/repo/store/extrato savedisk space.
Early version of a
jj file searchcommand for searching for a pattern infiles (like
git grep).Conflict labels now contain information about where the sides of a conflict
came from (e.g.
nlqwxzwn 7dd24e73 "first line of description").--insert-beforenow accepts a revset that resolves to an empty set whenused with
--insert-after. The behavior is similar to--onto.jj tag listnow supports--sortoption.TreeDiffEntrytype now has adisplay_diff_path()method that formatsrenames/copies appropriately.
TreeDiffEntrynow has astatus_char()method that returnssingle-character status codes (M/A/D/C/R).
CommitEvolutionEntrytype now has apredecessors()method whichreturns the predecessor commits (previous versions) of the entry's commit.
CommitEvolutionEntrytype now has ainter_diff()method whichreturns a
TreeDiffbetween the entry's commit and its predecessor version.Optionally accepts a fileset literal to limit the diff.
jj file annotatenow reports an error for non-files instead of succeedingand displaying no content.
jj workspace forgetnow warns about unknown workspaces instead of failing.Fixed bugs
Broken symlink on Windows. #6934.
Fixed failure on exporting moved/deleted annotated tags to Git. Moved tags are
exported as lightweight tags.
jj gerrit uploadnow correctly handles mixed explicit and implicitChange-Ids in chains of commits (#8219)
jj git pushnow updates partially-pushed remote bookmarks accordingly.#6787
Fixed problem of loading large Git packfiles.
gix cat: Encountered unsupported command code: 0 GitoxideLabs/gitoxide#2265
The builtin pager won't get stuck when stdin is redirected.
jj workspace addnow prevents creating an empty workspace name.Fixed checkout of symlinks pointing to themselves or
.git/.jjon Unix. Theproblem would still remain on Windows if symlinks are enabled.
#8348
Fixed a bug where jj would fail to read git delta objects from pack files.
Unable to read object in chromium repo GitoxideLabs/gitoxide#2344
Contributors
Thanks to the people who made this release happen!
This discussion was created from the release v0.37.0.
Beta Was this translation helpful? Give feedback.
All reactions