4.4 KiB
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[Unreleased]
New features
-
jj rebase
now accepts a--branch/-b <revision>
argument, which can be used instead of-r
or-s
to specify which commits to rebase. It will rebase the whole branch, relative to the destination. The default mode has changed from-r @
to-b @
. -
The new
jj print
command prints the contents of a file in a revision. -
jj move
andjj squash
now lets you limit the set of changes to move by specifying paths on the command line (in addition to the--interactive
mode). For example, usejj move --to @-- foo
to move the changes to file (or directory)foo
in the working copy to the grandparent commit. -
jj split
now lets you specify on the CLI which paths to include in the first commit. The interactive diff-editing is not started when you do that. -
The
$JJ_CONFIG
environment variable can now point to a directory. If it does, all files in the directory will be read, in alphabetical order. -
You can now override the
$EDITOR
environment variable by setting theui.editor
config. There is also a new$JJ_EDITOR
environment variable, which has even higher priority than the config. -
The new revset function
connected(x)
is the same asx:x
. -
The new revset function
roots(x)
finds commits in the set that are not descendants of other commits in the set.
Fixed bugs
-
When rebasing a conflict where one side modified a file and the other side deleted it, we no longer automatically resolve it in favor of the modified content (this was a regression from commit
c0ae4b16e8
). -
Errors are now printed to stderr (they used to be printed to stdout).
-
Updating the working copy to a commit where a file's executable bit changed but the contents was the same used to lead to a crash. That has now been fixed.
-
jj untrack
now requires at least one path (allowing no arguments was a UX bug). -
jj rebase
now requires at least one destination (allowing no arguments was a UX bug). -
You now get a proper error message instead of a crash when
$EDITOR
doesn't exist or exits with an error.
[0.4.0] - 2022-04-02
Breaking changes
- Dropped support for config in
~/.jjconfig
. Your configuration is now read from<config dir>/jj/config.toml
, where<config dir>
is${XDG_CONFIG_HOME}
or~/.config/
on Linux,~/Library/Application Support/
on macOS, and~\AppData\Roaming\
on Windows.
New features
-
You can now set an environment variable called
$JJ_CONFIG
to a path to a config file. That will then be read instead of your regular config file. This is mostly intended for testing and scripts. -
The standard
$NO_COLOR
environment variable is now respected. -
jj new
now lets you specify a description with--message/-m
. -
When you check out a commit, the old commit no longer automatically gets abandoned if it's empty and has descendants, it only gets abandoned if it's empty and does not have descendants.
-
(#111) When undoing an earlier operation, any new commits on top of commits from the undone operation will be rebased away. For example, let's say you rebase commit A so it becomes a new commit A', and then you create commit B on top of A'. If you now undo the rebase operation, commit B will be rebased to be on top of A instead. The same logic is used if the repo was modified by concurrent operations (so if one operation added B on top of A, and one operation rebased A as A', then B would be automatically rebased on top of A'). See #111 for more examples.
-
jj log
now accepts-p
/--patch
option.
Fixed bugs
-
Fixed crash on
jj init --git-repo=.
(it almost always crashed). -
When sharing the working copy with a Git repo, the automatic importing and exporting (sometimes?) didn't happen on Windows.
[0.3.3] - 2022-03-16
No changes, only trying to get the automated build to work.
[0.3.2] - 2022-03-16
No changes, only trying to get the automated build to work.
[0.3.1] - 2022-03-13
Fixed bugs
- (#131) Fixed crash when
core.excludesFile
pointed to non-existent file, and made leading~/
in that config expand to$HOME/
[0.3.0] - 2022-03-12
Last release before this changelog started.