v0.39.0 #9024
thoughtpolice
started this conversation in
General
v0.39.0
#9024
Replies: 1 comment 2 replies
-
|
Hi guys and thank you so much for this great project. I've been using it for almost a year and it made my life so much easier. Just one tiny suggestion to the latest release: the new |
Beta Was this translation helpful? Give feedback.
2 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
jj arrangecommand brings up a TUI where you can reorder and abandonrevisions. #1531
jj bookmark advanceautomatically moves bookmarks forward to atarget revision (defaults to
@) using customization pointsrevsets.bookmark-advance-fromandrevsets.bookmark-advance-to.It is heavily inspired by the longstanding community alias
jj tug.Breaking changes
Dropped support for legacy index files written by jj < 0.33. New index files
will be created as needed.
The following deprecated config options have been removed:
core.fsmonitorcore.watchman.register-snapshot-triggerThe deprecated command
jj op undohas been removed. Usejj op revertorjj undo/redoinstead.Deprecations
jj debug snapshotis deprecated in favor ofjj util snapshot. Althoughthis was an undocumented command in the first place, it will be removed after
6 months (v0.45.0) to give people time to migrate away.
New features
Add support for push options in
jj git pushwith the--optionflag.This allows users to pass options to the remote server when pushing commits.
The short alias
-ois also supported.jj newnow evaluates thenew_descriptiontemplate to populate theinitial commit description when no
-mmessage is provided.Templates now support
first(),last(),get(index),reverse(),skip(count), andtake(count)methods on list types for more flexiblelist manipulation.
New
builtin_draft_commit_description_with_difftemplate that includes thediff in the commit description editor, making it easier to review changes
while writing commit messages.
Revsets and templates now support
name:xpattern aliases such as'grep:x' = 'description(regex:x)'.Filesets now support user aliases.
jj workspace addnow links with relative paths. This enables workspaces to workinside containers or when moved together. Existing workspaces with absolute paths
will continue to work as before.
jj undonow also outputs what operation was undone, in addition to theoperation restored to.
Bookmarks with two or more consecutive
-characters no longer need to be quotedin revsets. For example,
jj diff -r '"foo--bar"'can now be written asjj diff -r foo--bar.New flag
--simplify-parentsonjj rebaseto apply the same transformationas
jj simplify-parentson the rebased commits.#7711
jj rebase --branchandjj rebase --sourcewill no longer return an errorif the given argument resolves to an empty revision set
(
jj rebase --revisionsalready behaved this way). Instead, a message will beprinted to inform the user why nothing has changed.
Changed Git representation of conflicted commits to include files from the
first side of the conflict. This should prevent unchanged files from being
highlighted as "added" in editors when checking out a conflicted commit in a
colocated workspace.
New template function
Timestamp::since(ts)that returns theTimestampRangebetween two timestamps. It can be used in conjunction with
.duration()inorder to obtain a human-friendly duration between two
Timestamps.Added new
jj util snapshotcommand to manually or programmatically trigger asnapshot. This introduces an official alternative to the
previously-undocumented
jj debug snapshotcommand. The Watchman integrationhas also been updated to use this command instead.
Changed background snapshotting to suppress stdout and stderr to avoid long
hangs.
jj gerrit uploadnow supports a variety of new flags documented ingerrit's documentation.
This includes, for example,
--reviewer=foo@example.comand--label=Auto-Submit.jj gerrit uploadnow recognizes Change-Id explicitly set via the alternativetrailer
Link, and will generate aLink: <review-url>/id/<change-id>trailerif
gerrit.review-urloption is set.jj gerrit uploadno longer requires the-rflag, and will default touploading what you're currently working on.
Templates now support
Serializeoperations on the result ofmap()andif(), when supported by the underlying type.jj bookmark renamenow supports--overwrite-existingto allow renaming abookmark even if the new name already exists, effectively replacing the
existing bookmark.
Conditional configuration based on environment variables with
--when.environments.#8779
Fixed bugs
Windows: use native file locks (
LockFileEx) instead of polling with filecreation, fixing issues with "pending delete" semantics leaving lock files
stuck.
jjnow safely detaches theHEADof alternate Git worktrees if theirchecked-out branch is moved or deleted during Git export.
jj file track --include-ignorednow works whenfsmonitor.backend="watchman".#8427
Contributors
Thanks to the people who made this release happen!
This discussion was created from the release v0.39.0.
Beta Was this translation helpful? Give feedback.
All reactions