-
Notifications
You must be signed in to change notification settings - Fork 396
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Error using a repository with a unicode primary bookmark name #5359
Labels
Comments
Figured out the actual solution, the config should be: [revset-aliases]
"trunk()" = "'κεφάλαιος'@origin" So the error is more that when cloning the repo it doesn't correctly serialize the bookmark name into revset syntax taking into account which bookmark names need escaping. |
yuja
added a commit
to yuja/jj
that referenced
this issue
Jan 15, 2025
Tag and bookmark names are usually ASCII, but they occasionally include Latin or Han characters. This doesn't fix the serialization problem, but should mitigate jj-vcs#5359.
github-merge-queue bot
pushed a commit
that referenced
this issue
Jan 15, 2025
Tag and bookmark names are usually ASCII, but they occasionally include Latin or Han characters. This doesn't fix the serialization problem, but should mitigate #5359.
martinvonz
added a commit
that referenced
this issue
Jan 26, 2025
martinvonz
added a commit
that referenced
this issue
Jan 26, 2025
martinvonz
added a commit
that referenced
this issue
Jan 26, 2025
martinvonz
added a commit
that referenced
this issue
Jan 29, 2025
martinvonz
added a commit
that referenced
this issue
Jan 29, 2025
martinvonz
added a commit
that referenced
this issue
Jan 29, 2025
martinvonz
added a commit
that referenced
this issue
Jan 29, 2025
martinvonz
added a commit
that referenced
this issue
Jan 30, 2025
martinvonz
added a commit
that referenced
this issue
Jan 30, 2025
4 tasks
martinvonz
added a commit
that referenced
this issue
Jan 31, 2025
martinvonz
added a commit
that referenced
this issue
Jan 31, 2025
martinvonz
added a commit
that referenced
this issue
Jan 31, 2025
martinvonz
added a commit
that referenced
this issue
Jan 31, 2025
martinvonz
added a commit
that referenced
this issue
Jan 31, 2025
Fixed by #5475 |
tmeijn
pushed a commit
to tmeijn/dotfiles
that referenced
this issue
Feb 6, 2025
This MR contains the following updates: | Package | Update | Change | |---|---|---| | [martinvonz/jj](https://github.com/martinvonz/jj) | minor | `v0.25.0` -> `v0.26.0` | MR created with the help of [el-capitano/tools/renovate-bot](https://gitlab.com/el-capitano/tools/renovate-bot). **Proposed changes to behavior should be submitted there as MRs.** --- ### Release Notes <details> <summary>martinvonz/jj (martinvonz/jj)</summary> ### [`v0.26.0`](https://github.com/jj-vcs/jj/releases/tag/v0.26.0) [Compare Source](jj-vcs/jj@v0.25.0...v0.26.0) ##### About jj is a Git-compatible version control system that is both simple and powerful. See the [installation instructions](https://jj-vcs.github.io/jj/v0.26.0/install-and-setup/) to get started. ##### 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](jj-vcs/jj#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](jj-vcs/jj#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](jj-vcs/jj#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](jj-vcs/jj#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](jj-vcs/jj#5252) - Conditional configuration now applies when initializing new repository. [#​5144](jj-vcs/jj#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](jj-vcs/jj#3968) - Bookmark and remote names written by `jj git clone` to `revset-aliases.'trunk()'` are now escaped if necessary. [#​5359](jj-vcs/jj#5359) ##### Contributors Thanks to the people who made this release happen! - Angel Ezquerra ([@​AngelEzquerra](https://github.com/AngelEzquerra)) - Antoine Martin ([@​alarsyo](https://github.com/alarsyo)) - Anton Bulakh ([@​necauqua](https://github.com/necauqua)) - Austin Seipp ([@​thoughtpolice](https://github.com/thoughtpolice)) - Baltasar Dinis ([@​bsdinis](https://github.com/bsdinis)) - Benjamin Tan ([@​bnjmnt4n](https://github.com/bnjmnt4n)) - blinry ([@​blinry](https://github.com/blinry)) - Bryce Berger ([@​bryceberger](https://github.com/bryceberger)) - Charlie-83 ([@​Charlie-83](https://github.com/Charlie-83)) - Christian Stoitner ([@​cstoitner](https://github.com/cstoitner)) - Evan Martin ([@​evmar](https://github.com/evmar)) - George Christou ([@​gechr](https://github.com/gechr)) - Ilya Grigoriev ([@​ilyagr](https://github.com/ilyagr)) - Jakob Hellermann ([@​jakobhellermann](https://github.com/jakobhellermann)) - JDSeiler ([@​JDSeiler](https://github.com/JDSeiler)) - Jonathan Frere ([@​MrJohz](https://github.com/MrJohz)) - Jonathan Gilchrist ([@​jgilchrist](https://github.com/jgilchrist)) - Josh Steadmon ([@​steadmon](https://github.com/steadmon)) - Martin von Zweigbergk ([@​martinvonz](https://github.com/martinvonz)) - Matt Kulukundis ([@​fowles](https://github.com/fowles)) - Ollivier Robert ([@​keltia](https://github.com/keltia)) - Philip Metzger ([@​PhilipMetzger](https://github.com/PhilipMetzger)) - Philipp Albrecht ([@​pylbrecht](https://github.com/pylbrecht)) - Robert Jackson ([@​rwjblue](https://github.com/rwjblue)) - Samuel Tardieu ([@​samueltardieu](https://github.com/samueltardieu)) - Scott Taylor ([@​scott2000](https://github.com/scott2000)) - Stephen Jennings ([@​jennings](https://github.com/jennings)) - Valentin Gatien-Baron ([@​v-gb](https://github.com/v-gb)) - Vincent Ging Ho Yim ([@​cenviity](https://github.com/cenviity)) - Waleed Khan ([@​arxanas](https://github.com/arxanas)) - Yuya Nishihara ([@​yuja](https://github.com/yuja)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever MR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this MR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this MR, check this box --- This MR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4xNjEuNiIsInVwZGF0ZWRJblZlciI6IjM5LjE2MS42IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJSZW5vdmF0ZSBCb3QiXX0=-->
netbsd-srcmastr
pushed a commit
to NetBSD/pkgsrc
that referenced
this issue
Feb 9, 2025
## [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](jj-vcs/jj#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](jj-vcs/jj#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](jj-vcs/jj#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](jj-vcs/jj#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](jj-vcs/jj#5252) * Conditional configuration now applies when initializing new repository. [#5144](jj-vcs/jj#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](jj-vcs/jj#3968) * Bookmark and remote names written by `jj git clone` to `revset-aliases.'trunk()'` are now escaped if necessary. [#5359](jj-vcs/jj#5359)
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Description
Attempting to use a repository that uses a unicode primary bookmark name fails. Commenting out the
trunk()
alias in the local config avoids the issue, and afaict all commands work correctly with the bookmark name (except where they need to know the head is immutable or primary).Steps to Reproduce the Problem
Specifications
libssh2
for authentication with Git hosts #3191)The text was updated successfully, but these errors were encountered: