v0.19.0
版本发布时间: 2024-07-05 10:59:13
martinvonz/jj最新发布版本:v0.21.0(2024-09-05 01:15:48)
Breaking changes
-
In revset aliases, top-level
kind:pattern
expression is now parsed as modifier. Surround with parentheses if it should be parsed as string/file pattern. -
Dropped support for automatic upgrade of repo formats used by versions before 0.12.0.
-
jj fix
now defaults to the broader revset-s reachable(@, mutable())
instead of-s @
. -
Dropped support for deprecated
jj branch delete
/forget
--glob
option. -
jj branch set
now creates new branch if it doesn't exist. Usejj branch move
to ensure that the target branch already exists. #3584
Deprecations
-
Replacing
-l
shorthand for--limit
with-n
injj log
,jj op log
andjj obslog
. -
jj split --siblings
is deprecated in favor ofjj split --parallel
(to matchjj parallelize
). -
A new
jj file
subcommand now replaces several existing uncategorized commands, which are deprecated.-
jj file show
replacesjj cat
. -
jj file chmod
replacesjj chmod
. -
jj file list
replacesjj files
.
-
New features
-
Support background filesystem monitoring via watchman triggers enabled with the
core.watchman.register_snapshot_trigger = true
config. -
Show paths to config files when configuration errors occur.
-
jj fix
now supports configuring the default revset for-s
using therevsets.fix
config. -
The
descendants()
revset function now accepts an optionaldepth
argument; like theancestors()
depth argument, it limits the depth of the set. -
Revset/template aliases now support function overloading. #2966
-
Conflicted files are individually simplified before being materialized.
-
The
jj file
subcommand now contains several existing file utilities.-
jj file show
, replacingjj cat
. -
jj file chmod
replacingjj chmod
. -
jj file list
replacingjj files
.
-
-
New command
jj branch move
let you update branches by name pattern or source revision. -
New diff option
jj diff --name-only
allows for easier shell scripting. -
In color-words diffs, hunks are now highlighted with underline. See diff colors and styles for customization.
-
jj git push -c <arg>
can now accept revsets that resolve to multiple revisions. This means thatjj git push -c xyz -c abc
is now equivalent tojj git push -c 'all:(xyz | abc)'
. -
jj prev
andjj next
have gained a--conflict
flag which moves you to the next conflict in a child commit. -
New command
jj git remote set-url
that sets the url of a git remote. -
Author timestamp is now reset when rewriting discardable commits (empty commits with no description) if authored by the current user. #2000
-
jj commit
now accepts--reset-author
option to matchjj describe
. -
jj squash
now accepts a--keep-emptied
option to keep the source commit.
Fixed bugs
-
jj git push
now ignores immutable commits when checking whether a to-be-pushed commit has conflicts, or has no description / committer / author set. #3029 -
jj
will look for divergent changes outside the short prefix set even if it finds the change id inside the short prefix set. #2476
Contributors
Thanks to the people who made this release happen!
- Austin Seipp (@thoughtpolice)
- Benjamin Tan (@bnjmnt4n)
- Daniel Ploch (@torquestomp)
- Danny Hooper (@hooper)
- Ilya Grigoriev (@ilyagr)
- James Sully (@sullyj3)
- Jonathan Tan (@jonathantanmy)
- Kyle J Strand (@BatmanAoD)
- Manuel Caldeira (@KiitoX)
- Martin von Zweigbergk (@martinvonz)
- Matt Kulukundis (@fowles)
- Matt Stark (@matts1)
- mlcui (@mlcui-corp)
- Philip Metzger (@PhilipMetzger)
- Scott Taylor (@scott2000)
- Simon Wollwage (@Kintaro)
- Tal Pressman (@tp-woven)
- Yuya Nishihara (@yuja)
1、 jj-v0.19.0-aarch64-apple-darwin.tar.gz 7.88MB
2、 jj-v0.19.0-aarch64-unknown-linux-musl.tar.gz 9.09MB
3、 jj-v0.19.0-docs-html.tar.gz 1.03MB
4、 jj-v0.19.0-x86_64-pc-windows-msvc.zip 6.16MB