Skip to content

Commit

Permalink
jj: update to 0.25.0.
Browse files Browse the repository at this point in the history
## [0.25.0] - 2025-01-01

### Release highlights

It's the holidays, and this release was overall pretty quiet, without many major
changes. Two select improvements:

* Improvements to configuration management, including support for [conditional
  variables](docs/config.md#conditional-variables) in config files.

* Large files in the working copy will no longer cause commands to fail; instead
  the large files will remain intact but untracked in the working copy.

### Breaking changes

* Configuration variables are no longer "stringly" typed. For example, `true` is
  not converted to a string `"true"`, and vice versa.

* The following configuration variables are now parsed strictly:
  `colors.<labels>`, `git.abandon-unreachable-commits`,
  `git.auto-local-bookmark`, `git.push-bookmark-prefix`, `revsets.log`,
  `revsets.short-prefixes` `signing.backend`, `operation.hostname`,
  `operation.username`, `ui.allow-init-native`, `ui.color`,
  `ui.default-description`, `ui.progress-indicator`, `ui.quiet`, `user.email`,
  `user.name`

* `jj config list` now prints inline tables `{ key = value, .. }` literally.
  Inner items of inline tables are no longer merged across configuration files.
  See [the table syntax
  documentation](docs/config.md#dotted-style-headings-and-inline-tables) for
  details.

* `jj config edit --user` now opens a file even if `$JJ_CONFIG` points to a
  directory. If there are multiple config files, the command will fail.

* `jj config set` no longer accepts a bare string value that looks like a TOML
  expression. For example, `jj config set NAME '[foo]'` must be quoted as `jj
  config set NAME '"[foo]"'`.

* The deprecated `[alias]` config section is no longer respected. Move command
  aliases to the `[aliases]` section.

* `jj absorb` now abandons the source commit if it becomes empty and has no
  description.

### Deprecations

* `--config-toml=TOML` is deprecated in favor of `--config=NAME=VALUE` and
  `--config-file=PATH`.

* The `Signature.username()` template method is deprecated for
  `Signature().email().local()`.

### New features

* `jj` command no longer fails due to new working-copy files larger than the
  `snapshot.max-new-file-size` config option. It will print a warning and large
  files will be left untracked.

* Configuration files now support [conditional
  variables](docs/config.md#conditional-variables).

* New command options `--config=NAME=VALUE` and `--config-file=PATH` to set
  string value without quoting and to load additional configuration from files.

* Templates now support the `>=`, `>`, `<=`, and `<` relational operators for
  `Integer` types.

* A new Email template type is added. `Signature.email()` now returns an Email
  template type instead of a String.

* Adds a new template alias `commit_timestamp(commit)` which defaults to the
  committer date.

* Conflict markers are now allowed to be longer than 7 characters, allowing
  conflicts to be materialized and parsed correctly in files which already
  contain lines that look like conflict markers.

* New `$marker_length` variable to allow merge tools to support longer conflict
  markers (equivalent to "%L" for Git merge drivers).

* `jj describe` now accepts a `JJ: ignore-rest` line that ignores everything
  below it, similar to a "scissor line" in git. When editing multiple commits,
  only ignore until the next `JJ: describe` line.

### Fixed bugs

* The `$NO_COLOR` environment variable must now be non-empty to be respected.

* Fixed incompatible rendering of empty hunks in git/unified diffs.
  [#5049](jj-vcs/jj#5049)

* Fixed performance of progress bar rendering when fetching from Git remote.
  [#5057](jj-vcs/jj#5057)

* `jj config path --user` no longer creates new file at the default config path.

* On Windows, workspace paths (printed by `jj root`) no longer use UNC-style
  `\\?\` paths unless necessary.

* On Windows, `jj git clone` now converts local Git remote path to
  slash-separated path.

* `jj resolve` no longer removes the executable bit on resolved files when using
  an external merge tool.
  • Loading branch information
0-wiz-0 committed Jan 7, 2025
1 parent ba9797b commit f7fb860
Show file tree
Hide file tree
Showing 3 changed files with 223 additions and 127 deletions.
4 changes: 2 additions & 2 deletions devel/jj/Makefile
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# $NetBSD: Makefile,v 1.19 2024/12/11 10:28:17 wiz Exp $
# $NetBSD: Makefile,v 1.20 2025/01/07 13:00:56 wiz Exp $

DISTNAME= jj-0.24.0
DISTNAME= jj-0.25.0
CATEGORIES= devel
MASTER_SITES= ${MASTER_SITE_GITHUB:=martinvonz/}
GITHUB_TAG= v${PKGVERSION_NOREV}
Expand Down
86 changes: 55 additions & 31 deletions devel/jj/cargo-depends.mk
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# $NetBSD: cargo-depends.mk,v 1.15 2024/12/11 10:28:18 wiz Exp $
# $NetBSD: cargo-depends.mk,v 1.16 2025/01/07 13:00:56 wiz Exp $

CARGO_CRATE_DEPENDS+= addr2line-0.22.0
CARGO_CRATE_DEPENDS+= adler-1.0.2
Expand All @@ -14,7 +14,7 @@ CARGO_CRATE_DEPENDS+= anstyle-1.0.8
CARGO_CRATE_DEPENDS+= anstyle-parse-0.2.5
CARGO_CRATE_DEPENDS+= anstyle-query-1.1.1
CARGO_CRATE_DEPENDS+= anstyle-wincon-3.0.4
CARGO_CRATE_DEPENDS+= anyhow-1.0.94
CARGO_CRATE_DEPENDS+= anyhow-1.0.95
CARGO_CRATE_DEPENDS+= arc-swap-1.7.1
CARGO_CRATE_DEPENDS+= arrayvec-0.7.6
CARGO_CRATE_DEPENDS+= assert_cmd-2.0.16
Expand All @@ -25,7 +25,7 @@ CARGO_CRATE_DEPENDS+= backtrace-0.3.73
CARGO_CRATE_DEPENDS+= bitflags-2.6.0
CARGO_CRATE_DEPENDS+= blake2-0.10.6
CARGO_CRATE_DEPENDS+= block-buffer-0.10.4
CARGO_CRATE_DEPENDS+= bstr-1.11.0
CARGO_CRATE_DEPENDS+= bstr-1.11.1
CARGO_CRATE_DEPENDS+= bumpalo-3.16.0
CARGO_CRATE_DEPENDS+= byteorder-1.5.0
CARGO_CRATE_DEPENDS+= bytes-1.7.1
Expand All @@ -34,23 +34,23 @@ CARGO_CRATE_DEPENDS+= cast-0.3.0
CARGO_CRATE_DEPENDS+= castaway-0.2.3
CARGO_CRATE_DEPENDS+= cc-1.1.16
CARGO_CRATE_DEPENDS+= cfg-if-1.0.0
CARGO_CRATE_DEPENDS+= chrono-0.4.38
CARGO_CRATE_DEPENDS+= chrono-0.4.39
CARGO_CRATE_DEPENDS+= chrono-english-0.1.7
CARGO_CRATE_DEPENDS+= ciborium-0.2.2
CARGO_CRATE_DEPENDS+= ciborium-io-0.2.2
CARGO_CRATE_DEPENDS+= ciborium-ll-0.2.2
CARGO_CRATE_DEPENDS+= clap-4.5.22
CARGO_CRATE_DEPENDS+= clap-4.5.23
CARGO_CRATE_DEPENDS+= clap-markdown-0.1.4
CARGO_CRATE_DEPENDS+= clap_builder-4.5.22
CARGO_CRATE_DEPENDS+= clap_complete-4.5.38
CARGO_CRATE_DEPENDS+= clap_builder-4.5.23
CARGO_CRATE_DEPENDS+= clap_complete-4.5.40
CARGO_CRATE_DEPENDS+= clap_complete_nushell-4.5.4
CARGO_CRATE_DEPENDS+= clap_derive-4.5.18
CARGO_CRATE_DEPENDS+= clap_lex-0.7.2
CARGO_CRATE_DEPENDS+= clap_lex-0.7.4
CARGO_CRATE_DEPENDS+= clap_mangen-0.2.23
CARGO_CRATE_DEPENDS+= clru-0.6.2
CARGO_CRATE_DEPENDS+= cmake-0.1.52
CARGO_CRATE_DEPENDS+= colorchoice-1.0.2
CARGO_CRATE_DEPENDS+= compact_str-0.7.1
CARGO_CRATE_DEPENDS+= config-0.13.4
CARGO_CRATE_DEPENDS+= console-0.15.8
CARGO_CRATE_DEPENDS+= core-foundation-sys-0.8.7
CARGO_CRATE_DEPENDS+= cpufeatures-0.2.14
Expand All @@ -71,13 +71,14 @@ CARGO_CRATE_DEPENDS+= difflib-0.4.0
CARGO_CRATE_DEPENDS+= digest-0.10.7
CARGO_CRATE_DEPENDS+= dirs-5.0.1
CARGO_CRATE_DEPENDS+= dirs-sys-0.4.1
CARGO_CRATE_DEPENDS+= displaydoc-0.2.5
CARGO_CRATE_DEPENDS+= doc-comment-0.3.3
CARGO_CRATE_DEPENDS+= dunce-1.0.5
CARGO_CRATE_DEPENDS+= either-1.13.0
CARGO_CRATE_DEPENDS+= encode_unicode-0.3.6
CARGO_CRATE_DEPENDS+= encoding_rs-0.8.34
CARGO_CRATE_DEPENDS+= equivalent-1.0.1
CARGO_CRATE_DEPENDS+= errno-0.3.9
CARGO_CRATE_DEPENDS+= errno-0.3.10
CARGO_CRATE_DEPENDS+= faster-hex-0.9.0
CARGO_CRATE_DEPENDS+= fastrand-2.1.1
CARGO_CRATE_DEPENDS+= filetime-0.2.25
Expand Down Expand Up @@ -140,7 +141,7 @@ CARGO_CRATE_DEPENDS+= gix-url-0.28.1
CARGO_CRATE_DEPENDS+= gix-utils-0.1.13
CARGO_CRATE_DEPENDS+= gix-validate-0.9.2
CARGO_CRATE_DEPENDS+= gix-worktree-0.38.0
CARGO_CRATE_DEPENDS+= glob-0.3.1
CARGO_CRATE_DEPENDS+= glob-0.3.2
CARGO_CRATE_DEPENDS+= globset-0.4.15
CARGO_CRATE_DEPENDS+= half-2.4.1
CARGO_CRATE_DEPENDS+= hashbrown-0.14.5
Expand All @@ -152,7 +153,18 @@ CARGO_CRATE_DEPENDS+= hex-0.4.3
CARGO_CRATE_DEPENDS+= home-0.5.9
CARGO_CRATE_DEPENDS+= iana-time-zone-0.1.60
CARGO_CRATE_DEPENDS+= iana-time-zone-haiku-0.1.2
CARGO_CRATE_DEPENDS+= idna-0.5.0
CARGO_CRATE_DEPENDS+= icu_collections-1.5.0
CARGO_CRATE_DEPENDS+= icu_locid-1.5.0
CARGO_CRATE_DEPENDS+= icu_locid_transform-1.5.0
CARGO_CRATE_DEPENDS+= icu_locid_transform_data-1.5.0
CARGO_CRATE_DEPENDS+= icu_normalizer-1.5.0
CARGO_CRATE_DEPENDS+= icu_normalizer_data-1.5.0
CARGO_CRATE_DEPENDS+= icu_properties-1.5.1
CARGO_CRATE_DEPENDS+= icu_properties_data-1.5.0
CARGO_CRATE_DEPENDS+= icu_provider-1.5.0
CARGO_CRATE_DEPENDS+= icu_provider_macros-1.5.0
CARGO_CRATE_DEPENDS+= idna-1.0.3
CARGO_CRATE_DEPENDS+= idna_adapter-1.2.0
CARGO_CRATE_DEPENDS+= ignore-0.4.23
CARGO_CRATE_DEPENDS+= imara-diff-0.1.7
CARGO_CRATE_DEPENDS+= indexmap-2.7.0
Expand All @@ -172,28 +184,28 @@ CARGO_CRATE_DEPENDS+= jobserver-0.1.32
CARGO_CRATE_DEPENDS+= js-sys-0.3.70
CARGO_CRATE_DEPENDS+= kstring-2.0.2
CARGO_CRATE_DEPENDS+= lazy_static-1.5.0
CARGO_CRATE_DEPENDS+= libc-0.2.167
CARGO_CRATE_DEPENDS+= libc-0.2.169
CARGO_CRATE_DEPENDS+= libgit2-sys-0.17.0+1.8.1
CARGO_CRATE_DEPENDS+= libredox-0.1.3
CARGO_CRATE_DEPENDS+= libssh2-sys-0.3.0
CARGO_CRATE_DEPENDS+= libz-ng-sys-1.1.16
CARGO_CRATE_DEPENDS+= libz-sys-1.1.20
CARGO_CRATE_DEPENDS+= linked-hash-map-0.5.6
CARGO_CRATE_DEPENDS+= linux-raw-sys-0.4.14
CARGO_CRATE_DEPENDS+= litemap-0.7.4
CARGO_CRATE_DEPENDS+= lock_api-0.4.12
CARGO_CRATE_DEPENDS+= log-0.4.22
CARGO_CRATE_DEPENDS+= lru-0.12.4
CARGO_CRATE_DEPENDS+= maplit-1.0.2
CARGO_CRATE_DEPENDS+= matchers-0.1.0
CARGO_CRATE_DEPENDS+= memchr-2.7.4
CARGO_CRATE_DEPENDS+= memmap2-0.9.4
CARGO_CRATE_DEPENDS+= minimal-lexical-0.2.1
CARGO_CRATE_DEPENDS+= miniz_oxide-0.7.4
CARGO_CRATE_DEPENDS+= miniz_oxide-0.8.0
CARGO_CRATE_DEPENDS+= minus-5.6.1
CARGO_CRATE_DEPENDS+= mio-0.8.11
CARGO_CRATE_DEPENDS+= mio-1.0.2
CARGO_CRATE_DEPENDS+= multimap-0.10.0
CARGO_CRATE_DEPENDS+= nom-7.1.3
CARGO_CRATE_DEPENDS+= nu-ansi-term-0.46.0
CARGO_CRATE_DEPENDS+= num-traits-0.2.19
CARGO_CRATE_DEPENDS+= num_cpus-1.16.0
Expand All @@ -208,12 +220,11 @@ CARGO_CRATE_DEPENDS+= overload-0.1.1
CARGO_CRATE_DEPENDS+= parking_lot-0.12.3
CARGO_CRATE_DEPENDS+= parking_lot_core-0.9.10
CARGO_CRATE_DEPENDS+= paste-1.0.15
CARGO_CRATE_DEPENDS+= pathdiff-0.2.1
CARGO_CRATE_DEPENDS+= percent-encoding-2.3.1
CARGO_CRATE_DEPENDS+= pest-2.7.14
CARGO_CRATE_DEPENDS+= pest_derive-2.7.14
CARGO_CRATE_DEPENDS+= pest_generator-2.7.14
CARGO_CRATE_DEPENDS+= pest_meta-2.7.14
CARGO_CRATE_DEPENDS+= pest-2.7.15
CARGO_CRATE_DEPENDS+= pest_derive-2.7.15
CARGO_CRATE_DEPENDS+= pest_generator-2.7.15
CARGO_CRATE_DEPENDS+= pest_meta-2.7.15
CARGO_CRATE_DEPENDS+= petgraph-0.6.5
CARGO_CRATE_DEPENDS+= pin-project-lite-0.2.14
CARGO_CRATE_DEPENDS+= pin-utils-0.1.0
Expand All @@ -234,7 +245,7 @@ CARGO_CRATE_DEPENDS+= prost-0.12.6
CARGO_CRATE_DEPENDS+= prost-build-0.12.6
CARGO_CRATE_DEPENDS+= prost-derive-0.12.6
CARGO_CRATE_DEPENDS+= prost-types-0.12.6
CARGO_CRATE_DEPENDS+= quote-1.0.37
CARGO_CRATE_DEPENDS+= quote-1.0.38
CARGO_CRATE_DEPENDS+= rand-0.8.5
CARGO_CRATE_DEPENDS+= rand_chacha-0.3.1
CARGO_CRATE_DEPENDS+= rand_core-0.6.4
Expand All @@ -254,20 +265,22 @@ CARGO_CRATE_DEPENDS+= roff-0.2.2
CARGO_CRATE_DEPENDS+= rpassword-7.3.1
CARGO_CRATE_DEPENDS+= rtoolbox-0.0.2
CARGO_CRATE_DEPENDS+= rustc-demangle-0.1.24
CARGO_CRATE_DEPENDS+= rustix-0.38.41
CARGO_CRATE_DEPENDS+= rustix-0.38.42
CARGO_CRATE_DEPENDS+= rustversion-1.0.17
CARGO_CRATE_DEPENDS+= ryu-1.0.18
CARGO_CRATE_DEPENDS+= same-file-1.0.6
CARGO_CRATE_DEPENDS+= sapling-renderdag-0.1.0
CARGO_CRATE_DEPENDS+= scanlex-0.1.4
CARGO_CRATE_DEPENDS+= scm-record-0.4.0
CARGO_CRATE_DEPENDS+= scopeguard-1.2.0
CARGO_CRATE_DEPENDS+= serde-1.0.215
CARGO_CRATE_DEPENDS+= serde-1.0.217
CARGO_CRATE_DEPENDS+= serde_bser-0.4.0
CARGO_CRATE_DEPENDS+= serde_bytes-0.11.15
CARGO_CRATE_DEPENDS+= serde_derive-1.0.215
CARGO_CRATE_DEPENDS+= serde_json-1.0.133
CARGO_CRATE_DEPENDS+= serde_derive-1.0.217
CARGO_CRATE_DEPENDS+= serde_json-1.0.134
CARGO_CRATE_DEPENDS+= serde_spanned-0.6.7
CARGO_CRATE_DEPENDS+= sha1-0.10.6
CARGO_CRATE_DEPENDS+= sha1-asm-0.5.3
CARGO_CRATE_DEPENDS+= sha1_smol-1.0.1
CARGO_CRATE_DEPENDS+= sha2-0.10.8
CARGO_CRATE_DEPENDS+= sharded-slab-0.1.7
Expand All @@ -282,12 +295,14 @@ CARGO_CRATE_DEPENDS+= smallvec-1.13.2
CARGO_CRATE_DEPENDS+= smawk-0.3.2
CARGO_CRATE_DEPENDS+= socket2-0.5.7
CARGO_CRATE_DEPENDS+= stability-0.2.1
CARGO_CRATE_DEPENDS+= stable_deref_trait-1.2.0
CARGO_CRATE_DEPENDS+= static_assertions-1.1.0
CARGO_CRATE_DEPENDS+= strsim-0.11.1
CARGO_CRATE_DEPENDS+= strum-0.26.3
CARGO_CRATE_DEPENDS+= strum_macros-0.26.4
CARGO_CRATE_DEPENDS+= subtle-2.6.1
CARGO_CRATE_DEPENDS+= syn-2.0.90
CARGO_CRATE_DEPENDS+= syn-2.0.93
CARGO_CRATE_DEPENDS+= synstructure-0.13.1
CARGO_CRATE_DEPENDS+= tempfile-3.14.0
CARGO_CRATE_DEPENDS+= terminal_size-0.4.0
CARGO_CRATE_DEPENDS+= termtree-0.4.1
Expand All @@ -296,18 +311,18 @@ CARGO_CRATE_DEPENDS+= test-case-core-3.3.1
CARGO_CRATE_DEPENDS+= test-case-macros-3.3.1
CARGO_CRATE_DEPENDS+= textwrap-0.16.1
CARGO_CRATE_DEPENDS+= thiserror-1.0.69
CARGO_CRATE_DEPENDS+= thiserror-2.0.4
CARGO_CRATE_DEPENDS+= thiserror-2.0.9
CARGO_CRATE_DEPENDS+= thiserror-impl-1.0.69
CARGO_CRATE_DEPENDS+= thiserror-impl-2.0.4
CARGO_CRATE_DEPENDS+= thiserror-impl-2.0.9
CARGO_CRATE_DEPENDS+= thread_local-1.1.8
CARGO_CRATE_DEPENDS+= timeago-0.4.2
CARGO_CRATE_DEPENDS+= tinystr-0.7.6
CARGO_CRATE_DEPENDS+= tinytemplate-1.2.1
CARGO_CRATE_DEPENDS+= tinyvec-1.8.0
CARGO_CRATE_DEPENDS+= tinyvec_macros-0.1.1
CARGO_CRATE_DEPENDS+= tokio-1.42.0
CARGO_CRATE_DEPENDS+= tokio-macros-2.4.0
CARGO_CRATE_DEPENDS+= tokio-util-0.6.10
CARGO_CRATE_DEPENDS+= toml-0.5.11
CARGO_CRATE_DEPENDS+= toml_datetime-0.6.8
CARGO_CRATE_DEPENDS+= toml_edit-0.22.22
CARGO_CRATE_DEPENDS+= tracing-0.1.41
Expand All @@ -319,15 +334,16 @@ CARGO_CRATE_DEPENDS+= tracing-subscriber-0.3.19
CARGO_CRATE_DEPENDS+= typenum-1.17.0
CARGO_CRATE_DEPENDS+= ucd-trie-0.1.6
CARGO_CRATE_DEPENDS+= uluru-3.1.0
CARGO_CRATE_DEPENDS+= unicode-bidi-0.3.15
CARGO_CRATE_DEPENDS+= unicode-bom-2.0.3
CARGO_CRATE_DEPENDS+= unicode-ident-1.0.12
CARGO_CRATE_DEPENDS+= unicode-linebreak-0.1.5
CARGO_CRATE_DEPENDS+= unicode-normalization-0.1.23
CARGO_CRATE_DEPENDS+= unicode-segmentation-1.11.0
CARGO_CRATE_DEPENDS+= unicode-truncate-1.1.0
CARGO_CRATE_DEPENDS+= unicode-width-0.1.14
CARGO_CRATE_DEPENDS+= url-2.5.2
CARGO_CRATE_DEPENDS+= url-2.5.4
CARGO_CRATE_DEPENDS+= utf16_iter-1.0.5
CARGO_CRATE_DEPENDS+= utf8_iter-1.0.4
CARGO_CRATE_DEPENDS+= utf8parse-0.2.2
CARGO_CRATE_DEPENDS+= valuable-0.1.0
CARGO_CRATE_DEPENDS+= vcpkg-0.2.15
Expand Down Expand Up @@ -371,9 +387,17 @@ CARGO_CRATE_DEPENDS+= windows_x86_64_msvc-0.48.5
CARGO_CRATE_DEPENDS+= windows_x86_64_msvc-0.52.6
CARGO_CRATE_DEPENDS+= winnow-0.6.18
CARGO_CRATE_DEPENDS+= winreg-0.52.0
CARGO_CRATE_DEPENDS+= write16-1.0.0
CARGO_CRATE_DEPENDS+= writeable-0.5.5
CARGO_CRATE_DEPENDS+= yansi-1.0.1
CARGO_CRATE_DEPENDS+= yoke-0.7.5
CARGO_CRATE_DEPENDS+= yoke-derive-0.7.5
CARGO_CRATE_DEPENDS+= zerocopy-0.7.35
CARGO_CRATE_DEPENDS+= zerocopy-derive-0.7.35
CARGO_CRATE_DEPENDS+= zerofrom-0.1.5
CARGO_CRATE_DEPENDS+= zerofrom-derive-0.1.5
CARGO_CRATE_DEPENDS+= zerovec-0.10.4
CARGO_CRATE_DEPENDS+= zerovec-derive-0.10.3
CARGO_CRATE_DEPENDS+= zstd-0.12.4
CARGO_CRATE_DEPENDS+= zstd-safe-6.0.6
CARGO_CRATE_DEPENDS+= zstd-sys-2.0.13+zstd.1.5.6
Loading

0 comments on commit f7fb860

Please sign in to comment.