Path to this page:
Subject: CVS commit: pkgsrc/devel/jj
From: Thomas Klausner
Date: 2024-04-18 16:40:51
Message id: 20240418144051.EFDC1FA2C@cvs.NetBSD.org
Log Message:
jj: update to 0.16.0.
## [0.16.0] - 2024-04-03
### Deprecations
* `jj move` was deprecated in favor of `jj squash`.
### Breaking changes
* The `git_head` template keyword now returns an optional value instead of a
list of 0 or 1 element.
* The `jj sparse set --edit`/`--reset` flags were split up into `jj sparse
edit`/`reset` subcommands respectively.
* The `jj sparse` subcommands now parse and print patterns as workspace-relative
paths.
* The `jj log` command no longer uses the default revset when a path is specified.
### New features
* Config now supports rgb hex colors (in the form `#rrggbb`) wherever existing \
color names are supported.
* `ui.default-command` now accepts multiple string arguments, for more complex
default `jj` commands.
* Graph node symbols are now configurable via templates
* `templates.log_node`
* `templates.op_log_node`
* `jj log` now includes synthetic nodes in the graph where some revisions were
elided.
* `jj squash` now accepts `--from` and `--into` (also aliased as `--to`) if `-r`
is not specified. It can now be used for all use cases where `jj move` could
previously be used. The `--from` argument accepts a revset that resolves to
more than one revision.
* Commit templates now support `immutable` keyword.
* New template function `coalesce(content, ..)` is added.
* Timestamps are now shown in local timezone and without milliseconds and
timezone offset by default.
* `jj git push` now prints messages from the remote.
* `jj branch list` now supports a `--conflicted/-c` option to show only \
conflicted branches.
* `jj duplicate` and `jj abandon` can now take more than a single `-r` argument,
for consistency with other commands.
* `jj branch list` now allows combining `-r REVISIONS`/`NAMES` and `-a` options.
* `--all` is now named `--all-remotes` for `jj branch list`
* There is a new global `--quiet` flag to silence commands' non-primary output.
* `jj split` now supports a `--siblings/-s` option that splits the target
revision into siblings with the same parents and children.
* new function `working_copies()` for revsets to show the working copy commits \
of all workspaces.
### Fixed bugs
None.
## [0.15.1] - 2024-03-06
No code changes (fixing Rust `Cargo.toml` stuff).
## [0.15.0] - 2024-03-06
### Breaking changes
* The minimum supported Rust version (MSRV) is now 1.76.0.
* The on-disk index format changed. New index files will be created
automatically, but it can fail if the repository is co-located and predates
Git GC issues [#815](https://github.com/martinvonz/jj/issues/815). If
reindexing failed, you'll need to clean up corrupted operation history by
`jj op abandon ..<bad operation ID>`.
* Dropped support for the "legacy" graph-drawing style. Use \
"ascii" for a very
similar result.
* The default log output no longer lists all tagged heads. Set `revsets.log =
"@ | ancestors(immutable_heads().., 2) | heads(immutable_heads())"` \
to restore
the old behavior.
* Dropped support for the deprecated `:` revset operator. Use `::` instead.
* `jj rebase --skip-empty` no longer abandons commits that were already empty
before the rebase.
### New features
* Partial support for commit signing. Currently you can configure jj to \
"keep"
commit signatures by making new ones for rewritten commits, and to sign new
commits when they are created.
This comes with out-of-the-box support for the following backends:
* GnuPG
* SSH
Signature verification and an explicit sign command will hopefully come soon.
* Templates now support logical operators: `||`, `&&`, `!`
* Templates now support the `self` keyword, which is the current commit in `jj
log`/`obslog` templates.
* `jj show` now accepts `-T`/`--template` option to render its output using
template
* `jj config list` now accepts `-T`/`--template` option.
* `jj git fetch` now accepts `-b` as a shorthand for `--branch`, making it more
consistent with other commands that accept a branch
* In the templating language, Timestamps now have a `.local()` method for
converting to the local timezone.
* `jj next/prev` now infer `--edit` when you're already editing a non-head
commit (a commit with children).
* A new built-in pager named `:builtin` is available on all platforms,
implemented with [minus](https://github.com/arijit79/minus/)
* Set config `ui.log-synthetic-elided-nodes = true` to make `jj log` include
synthetic nodes in the graph where some revisions were elided
([#1252](https://github.com/martinvonz/jj/issues/1252),
[#2971](https://github.com/martinvonz/jj/issues/2971)). This may become the
default depending on feedback.
* When creating a new workspace, the sparse patterns are now copied over from
the current workspace.
* `jj git init --colocate` can now import an existing Git repository. This is
equivalent to `jj git init --git-repo=.`.
* `jj git fetch` now automatically prints new remote branches and tags by default.
* `--verbose/-v` is now `--debug` (no short option since it's not intended to be \
used often)
* `jj move --from/--to` can now be abbreviated to `jj move -f/-t`
* `jj commit`/`diffedit`/`move`/`resolve`/`split`/`squash`/`unsquash` now accept
`--tool=<NAME>` option to override the default.
[#2575](https://github.com/martinvonz/jj/issues/2575)
* Added completions for [Nushell](https://nushell.sh) to `jj util completion`
* `jj branch list` now supports a `--tracked/-t` option which can be used to
show tracked branches only. Omits local Git-tracking branches by default.
* Commands producing diffs now accept a `--context` flag for the number of
lines of context to show.
* `jj` commands with the `-T`/`--template` option now provide a hint containing
defined template names when no argument is given, assisting the user in making
a selection.
### Fixed bugs
* On Windows, symlinks in the repo are now supported when Developer Mode is enabled.
When symlink support is unavailable, they will be materialized as regular \
files in the
working copy (instead of resulting in a crash).
[#2](https://github.com/martinvonz/jj/issues/2)
* On Windows, the `:builtin` pager is now used by default, rather than being
disabled entirely.
* Auto-rebase now preserves the shape of history even for merge commits where
one parent is an ancestor of another.
[#2600](https://github.com/martinvonz/jj/issues/2600)
Files: