head	1.2;
access;
symbols
	pkgsrc-2025Q1:1.1.0.2
	pkgsrc-2025Q1-base:1.1;
locks; strict;
comment	@# @;


1.2
date	2025.05.11.10.52.51;	author wiz;	state dead;
branches;
next	1.1;
commitid	a9HooL2JL8EuHtUF;

1.1
date	2025.02.09.21.21.14;	author wiz;	state Exp;
branches;
next	;
commitid	arcYzJ9l9kk56QIF;


desc
@@


1.2
log
@jj: update to 0.29.0.

## [0.29.0] - 2025-05-07

### Release highlights

* Experimental support for transferring the change ID to/from Git remotes behind configuration
  setting `git.write-change-id-header`. If this is enabled, the change ID will be stored in the Git
  commit itself (in a commit header called `change-id`), which means it will be transferred by
  regular `git push` etc. This is an evolving feature that currently defaults to "false". This
  default will likely change in the future as we gain confidence with forge support and user
  expectations.

### Breaking changes

* `jj git push -c`/`--change` no longer moves existing local bookmarks.

* The `editor-*.jjdescription` files passed to your editor by e.g. `jj describe`
  are now written to your system's temporary directory instead of `.jj/repo/`.

### Deprecations

* `git.subprocess = false` has been deprecated, and the old `libgit2`
  code path for fetches and pushes will be removed entirely in 0.30.
  Please report any remaining issues you have with the Git
  subprocessing path.

* `ui.default-description` has been deprecated, and will be migrated to
  `template-aliases.default_commit_description`. Please also consider using
  [`templates.draft_commit_description`](docs/config.md#default-description),
  and/or [`templates.commit_trailers`](docs/config.md#commit-trailers).

* On macOS, config.toml files in `~/Library/Application Support/jj` are
  deprecated; one should instead use `$XDG_CONFIG_HOME/jj`
  (defaults to `~/.config/jj`)

### New features

* Color-words diff has gained [an option to compare conflict pairs without
  materializing](docs/config.md#color-words-diff-options).

* `jj show` patches can now be suppressed with `--no-patch`.

* Added `ui.bookmark-list-sort-keys` setting to configure default sort keys for the
  `jj bookmark list` command.

* New `signed` revset function to filter for cryptographically signed commits.

* `jj describe`, `jj commit`, `jj new`, `jj squash` and `jj split` add the
  commit trailers, configured in the `commit_trailers` template, to the commit
  description. Use cases include DCO Sign Off and Gerrit Change Id.

* Added `duplicate_description` template, which allows [customizing the descriptions
  of the commits `jj duplicate` creates](docs/config.md#duplicate-commit-description).

* `jj absorb` can now squash a deleted file if it was added by one of the
  destination revisions.

* Added `ui.streampager.show-ruler` setting to configure whether the ruler should be
  shown when the builtin pager starts up.

* `jj git fetch` now warns instead of erroring for unknown `git.fetch` remotes
  if other remotes are available.

* Commit objects in templates now have `trailers() -> List<Trailer>`, the Trailer
  objects have `key() -> String` and `value() -> String`.

* `jj config edit` will now roll back to previous version if a syntax error has been introduced in the new config.

* When using dynamic command-line completion, revision names will be completed
  in more complex expressions. For example, typing
  `jj log -r first-bookmark..sec` and then pressing Tab could complete the
  expression to `first-bookmark..second-bookmark`.

### Fixed bugs

* Fixed crash on change-delete conflict resolution.
  [#6250](https://github.com/jj-vcs/jj/issues/6250)

* The builtin diff editor now tries to preserve unresolved conflicts.
  [#4963](https://github.com/jj-vcs/jj/issues/4963)

* Fixed bash and zsh shell completion when completing aliases of multiple arguments.
  [#5377](https://github.com/jj-vcs/jj/issues/5377)

### Packaging changes

* Jujutsu now uses
  [`zlib-rs`](https://github.com/trifectatechfoundation/zlib-rs), a
  fast compression library written in Rust. Packagers should remove any
  dependency on CMake and drop the `packaging` Cargo feature.
@
text
@$NetBSD: patch-.._vendor_mac_address-1.1.7_Cargo.toml,v 1.1 2025/02/09 21:21:14 wiz Exp $

Add NetBSD support.
https://github.com/repnop/mac_address/pull/50

--- ../vendor/mac_address-1.1.7/Cargo.toml.orig	2025-02-09 21:12:42.494785006 +0000
+++ ../vendor/mac_address-1.1.7/Cargo.toml
@@@@ -37,7 +37,7 @@@@ version = "1.0.59"
 [dev-dependencies.serde_test]
 version = "1.0.117"
 
-[target."cfg(any(target_os = \"linux\", target_os = \"macos\", target_os = \"freebsd\", target_os = \"openbsd\", target_os = \"android\", target_os = \"illumos\"))".dependencies.nix]
+[target."cfg(any(target_os = \"linux\", target_os = \"macos\", target_os = \"freebsd\", target_os = \"netbsd\", target_os = \"openbsd\", target_os = \"android\", target_os = \"illumos\"))".dependencies.nix]
 version = "0.28"
 features = ["net"]
 
@


1.1
log
@jj: update to 0.26.0.

## [0.26.0] - 2025-02-05

### Release highlights

* Improved Git push/fetch compatibility by spawning an external `git` process.
  This can be enabled by the `git.subprocess=true` config knob, and will be the
  default in a future release.

* `jj log` can now show cryptographic commit signatures. The output can be
  controlled by the `ui.show-cryptographic-signatures=true` config knob.

### Breaking changes

* `jj abandon` now deletes bookmarks pointing to the revisions to be abandoned.
  Use `--retain-bookmarks` to move bookmarks backwards. If deleted bookmarks
  were tracking remote bookmarks, the associated bookmarks (or branches) will be
  deleted from the remote on `jj git push --all`.
  [#3505](https://github.com/jj-vcs/jj/issues/3505)

* `jj init --git` and `jj init --git-repo` have been removed. They were
  deprecated in early 2024. Use `jj git init` instead.

* The following deprecated commands have been removed:
  - `jj cat` is replaced by `jj file show`.
  - `jj chmod` is replaced by `jj file chmod`.
  - `jj files` is replaced by `jj file list`.

* The deprecated `-l` short alias for `--limit` in `jj log`, `jj op log`
  and `jj obslog` has been removed. The `-n` short alias can be used instead.

* The deprecated `--siblings` options for `jj split` has been removed.
  `jj split --parallel` can be used instead.

* The deprecated `fix.tool-command` config option has been removed.

* In colocated repos, the Git index now contains the changes from all parents
  of the working copy instead of just the first parent (`HEAD`). 2-sided
  conflicts from the merged parents are now added to the Git index as conflicts
  as well.

* The following change introduced in 0.25.0 is reverted:
  - `jj config list` now prints inline tables `{ key = value, .. }` literally.
    Inner items of inline tables are no longer merged across configuration
    files.

* `jj resolve` will now attempt to resolve all conflicted files instead of
  resolving the first conflicted file. To resolve a single file, pass a file
  path to `jj resolve`.

* `jj util mangen` is replaced with `jj util install-man-pages`, which can
  install man pages for all `jj` subcommands to a given path.

* In `jj config list` template, `value` is now typed as `ConfigValue`, not as
  `String` serialized in TOML syntax.

* `jj git remote add`/`set-url` now converts relative Git remote path to
  absolute path.

* `jj log`/`op log` now applies `-n`/`--limit` *before* the items are reversed.
  Rationale: It's more useful to see the N most recent commits/operations, and
  is more performant. The old behavior can be achieved by `jj log .. | head`.
  [#5403](https://github.com/jj-vcs/jj/issues/5403)

* Upgraded `scm-record` from v0.4.0 to v0.5.0. See release notes at
  <https://github.com/arxanas/scm-record/releases/tag/v0.5.0>.

* The builtin pager is switched to
  [streampager](https://github.com/markbt/streampager/). It can handle large
  inputs better and can be configured.

* Conflicts materialized in the working copy before `jj 0.19.0` may no longer
  be parsed correctly. If you are using version 0.18.0 or earlier, check out a
  non-conflicted commit before upgrading to prevent issues.

### Deprecations

### New features

* `jj git {push,clone,fetch}` can now spawn an external `git` subprocess, via
   the `git.subprocess = true` config knob. This provides an alternative that,
   when turned on, fixes SSH bugs when interacting with Git remotes due to
   `libgit2`s limitations [#4979](https://github.com/jj-vcs/jj/issues/4979).

* `jj describe` now accepts `--edit`.

* `jj evolog` and `jj op log` now accept `--reversed`.

* `jj restore` now supports `-i`/`--interactive` selection.

* `jj file list` now supports templating.

* There is a new `builtin_op_log_oneline` template alias you can pass to `jj op
  log -T` for a more compact output. You can use `format_operation_oneline` and
  `format_snapshot_operation_oneline` to customize parts of it.

* New template function `config(name)` to access to configuration variable from
  template.

* New template function `pad_centered()` to center content within a minimum
  width.

* Templater now supports `list.filter(|x| ..)` method.

* The `diff` commit template keyword now supports custom formatting via
  `diff.files()`. For example, `diff.files().map(|e| e.path().display())` prints
  changed file paths.

* The `diff.stat()` template method now provides methods to get summary values.

* `jj log` can now show cryptographic commit signatures. The output can be
  controlled by the `ui.show-cryptographic-signatures=true` config knob. The
  signature template can be customized using
  `format_detailed_cryptographic_signature(signature)` and
  `format_short_cryptographic_signature(signature)`.

* New `git.sign-on-push` config option to automatically sign commits which are
  being pushed to a Git remote.

* New `git.push-new-bookmarks` config option to push new bookmarks without
  `--allow-new`.

* `jj status` now shows untracked files when they reside directly under a
  tracked directory. There's still an issue that files under untracked
  directories aren't listed. [#5389](https://github.com/jj-vcs/jj/issues/5389)

* New `merge-tools.<TOOL>.diff-expected-exit-codes` config option to suppress
  warnings from tools exiting with non-zero exit codes.

* New `fix.tools.TOOL.enabled` config option to enable/disable tools. This is
  useful for defining disabled tools in user configuration that can be enabled
  in individual repositories with one config setting.

* Added `--into` flag to `jj restore`, similarly to `jj squash` and `jj
  absorb`. It is equivalent to `--to`, but `--into` is the recommended name.

* Italic text is now supported. You can set e.g. `color.error = { fg = "red",
  italic = true }` in your config.

* New `author_name`/`author_email`/`committer_name`/`committer_email(pattern)`
  revset functions to match either name or email field explicitly.

* New `subject(pattern)` revset function that matches first line of commit
  descriptions.

* Conditional configuration now supports `--when.commands` to change
  configuration based on subcommand.

* The Jujutsu documentation site now publishes a schema for the official
  configuration file, which can be integrated into your editor for autocomplete,
  inline errors, and more.
  Please [see the documentation](/docs/config.md#json-schema-support) for more
  on this.

### Fixed bugs

* `jj git fetch` with multiple remotes will now fetch from all remotes before
  importing refs into the jj repo. This fixes a race condition where the
  treatment of a commit that is found in multiple fetch remotes depended on the
  order the remotes were specified.

* Fixed diff selection by external tools with `jj split`/`commit -i FILESETS`.
  [#5252](https://github.com/jj-vcs/jj/issues/5252)

* Conditional configuration now applies when initializing new repository.
  [#5144](https://github.com/jj-vcs/jj/issues/5144)

* `[diff.<format>]` configuration now applies to `.diff().<format>()` commit
  template methods.

* Conflicts at the end of files which don't end with a newline character are
  now materialized in a way that can be parsed correctly.
  [#3968](https://github.com/jj-vcs/jj/issues/3968)

* Bookmark and remote names written by `jj git clone` to
  `revset-aliases.'trunk()'` are now escaped if necessary.
  [#5359](https://github.com/jj-vcs/jj/issues/5359)
@
text
@d1 1
a1 1
$NetBSD$
@

