- About:jj 是一个 Git 兼容的版本控制系统,简单且强大,可参考安装说明开始使用。
Release highlights:
- 默认启用 0.29.0 版本的实验性支持,可将变更 ID 传输到/从 Git 远程仓库,变更 ID 存储在 Git 提交中(名为
change-id
的提交头中),git push
等常规命令会传输它,若有问题可设置git.write-change-id-header
禁用,注意某些 Git 远程仓库和命令在重写提交时不会保留变更 ID。 jj rebase
现在若目的地已有相同变更 ID 的提交且更改相同,则会自动放弃分歧提交。jj split
增加了--message
、--insert-before
、--insert-after
和--destination
选项。jj evolog
可显示新 jj 版本创建的提交的相关操作。
- 默认启用 0.29.0 版本的实验性支持,可将变更 ID 传输到/从 Git 远程仓库,变更 ID 存储在 Git 提交中(名为
Breaking changes:
- 移除了用于获取和推送的旧
libgit2
代码路径以及git.subprocess
设置。 - 模板中书签/标签/远程名称现在以 revset 符号表示法格式化,
bookmark.remote()
的类型更改为Option<_>
,bookmark.remote() == "foo"
仍可用,但bookmark.remote().<method>()
可能需要if(bookmark.remote(),..)
来抑制错误。 jj rebase
现在若目的地已有相同变更 ID 的提交且更改相同,则会自动放弃分歧提交,要保留分歧提交可使用--keep-divergent
标志。- 移除了
jj rebase
的已弃用--skip-empty
标志,使用--skip-emptied
标志代替。 - 移除了已弃用的
jj branch
子命令,使用jj bookmark
子命令代替。 jj util completion
现在需要将 shell 名称作为位置参数,且默认不再生成 Bash 补全,已弃用的不同 shell 的可选参数已被移除。- 外部差异工具现在在包含之前(
left
)和之后(right
)目录的临时目录中运行,用户可通过设置merge-tools.<tool>.diff-do-chdir = false
退出,但可能在未来版本中删除,若有问题请报告。
- 移除了用于获取和推送的旧
Deprecations:
ui.diff.format
和ui.diff.tool
配置选项已合并为ui.diff-formatter
,内置格式可指定为:<format>
(如ui.diff-formatter=":git"
用于 Git 差异)。.normal_hex()
方法将从CommitId
模板类型中移除,仅对ChangeId
类型有用。
New features:
jj split
增加了--message
选项,可设置具有选定更改的提交的描述。jj split
具有通过--insert-before
、--insert-after
和--destination
命令行标志将具有选定更改的修订放置在修订树中任何位置的能力。- 添加了
git.track-default-bookmark-on-clone
设置,以控制在jj git clone
时是否跟踪默认远程书签。 - 模板现在可以使用
+
、-
、*
、/
和%
中缀运算符对整数进行算术运算。 - 演化历史现在存储在操作日志中,
jj evolog
可显示新 jj 版本创建的提交的相关操作。
Fixed bugs:
- Packaging changes:由于移除了
libgit2
代码路径,打包者应移除对libgit2
、libssh2
、Zlib、OpenSSL 和pkg-config
的依赖,并确保未设置 Cargo 的git2
或vendored-openssl
功能。 - Contributors:感谢使此版本发布的人员,列出了众多贡献者的 GitHub 账号。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。