3 个版本 (破坏性更新)
0.3.0 | 2024年5月26日 |
---|---|
0.2.0 | 2023年12月25日 |
0.1.0 | 2023年8月19日 |
#1325 在 开发工具 中
9,074 每月下载次数
用于 17 个crate(5 个直接使用)
235KB
6K SLoC
许可证
MIT OR Apache-2.0
scm-record
scm-record
是一个 UI 组件,用于交互式选择要包含在提交中的更改。它旨在嵌入到源代码控制工具中。
您可以将此视为 git add -p
的交互式替代品,或 hg crecord/
hg commit -i
的重新实现。给定用户创建的一组更改,此组件将它们展示给用户,并允许用户选择哪些更改应该提交。
scm-record
最初是作为git-branchless的支持库开发的。
scm-diff-editor
当使用--features scm-diff-editor
编译时,将可用 scm-diff-editor
二进制文件。
这是一个独立的二进制文件,使用 scm-record
库作为前端,可以直接集成到某些源代码控制系统中。
- Git:
- 作为 difftool(见
git-difftool(1)
)。仅支持查看差异,不支持编辑。 - 通过git-branchless,其
git record -i
命令允许您交互式选择并提交更改。
- 作为 difftool(见
- Mercurial:通过
extdiff
扩展。仅支持查看差异,不支持编辑。 - Jujutsu:内置,通过设置选项
ui.diff-editor=":builtin"
来使用。
与其他项目的集成
以下是一些不使用scm-record
的项目,但可以从与它的集成中受益(在你的贡献下)
功能愿望清单
以下是一些UI中尚未实现的功能
- 使键绑定更容易被发现,允许使用键盘访问菜单。
- 跳转到同一类型的下一个/上一个元素。
- 在编辑器中编辑diff的一侧。
- 多路拆分UI将提交拆分成多个提交。
- 支持用作合并工具。
- 选择ours/theirs的命令,以表示合并冲突的diff。
依赖关系
~6–15MB
~173K SLoC