When initializing a workspace that shares its working copy with a Git repo (i.e. `jj init --git-repo=.`), we import refs and HEAD when creating the `WorkspaceCommandHelper` (as we do for all commands when the working copy is shared). That makes the explicit import we do in `cmd_init()` unnecessary. It also makes the checkout of HEAD I added for the fix of #102 unnecessary. More importantly, as @yuja reported in #177, it makes the command crash (at least if the repo is small enough that the two checkouts happen within a second). I think the problem is that the second checkout tries to create the same commit except that the Change ID is different (the problem is not the predecessors as I speculated in the issue tracker). The fix is to simply avoid doing the redundant work. We still need a proper fix for #27 eventually. Closes #177.
2.3 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]
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.