#patch #repository #version-control #directory #branch #information #line

libpijul-compat

基于补丁的分布式版本控制系统,易于使用且速度快

6个版本

使用旧的 Rust 2015

0.10.2 2018年11月20日
0.8.7 2018年2月2日
0.8.6 2018年1月30日

#1326 in 数据库接口

GPL-2.0+

370KB
9K SLoC

此Crate包含访问Pijul仓库的核心API。

关键对象是 Repository,在该对象上可以启动 Txn(不可变事务)和 MutTxn(可变事务),以执行各种操作。

另一个重要对象是 Patch,它编码了两个不同的信息

  • 关于两个文件版本之间删除和插入的行之间的信息。

  • 关于文件移动、添加和删除的信息。

仓库的标准布局在模块 fs_representation 中定义,主要由名为 .pijul 的目录组成,位于仓库的根目录,包含

  • 一个名为 pristine 的目录,其中包含一个Sanakirja数据库,存储大部分仓库信息。

  • 一个名为 patches 的目录,实际上包含补丁,其中每个补丁都是 patch::Patch 类型的bincode编码的gzip压缩。

目前,此库的用户,如Pijul命令行工具,可能使用 .pijul 目录中的其他文件,例如用户首选项或远程分支和仓库的信息。

依赖关系

~17–29MB
~420K SLoC