3 个版本 (破坏性更新)

0.3.0 2022 年 3 月 1 日
0.2.0 2022 年 2 月 26 日
0.1.0 2022 年 2 月 11 日

#15 in #bag

Apache-2.0

77KB
2K SLoC

bagr

bagr 是一个用于与 BagIt 包交互的命令行工具。

它仍在积极开发中,但包创建功能已经完善。

安装

预构建版本

发布页面 上有预构建的二进制文件,应该在常见的操作系统和架构上都能使用。您不需要安装 Rust 就可以使用它们。

  1. 下载并解压相应的二进制文件
  2. 执行 ./bagr help 以验证其是否正常工作

本地构建

  1. 安装 Rust
  2. 执行: cargo install bagr
  3. 验证安装: bagr help

用法

创建一个新的包

默认情况下,bagr 将通过调用当前目录的内容创建一个包

bagr bag .

如果您想通过 复制 源目录的内容到目标包中创建一个包,可以通过调用以下命令来实现

bagr bag src/dir dst/bag

默认情况下,使用的是 sha512 算法;可以通过 --digest-algorithm 选项更改此算法。

在 Mac 系统上,.DS_Store 文件可能会偷偷进入不需要的地方。可以通过使用 --exclude-hidden-files 标志将这些文件从打包过程中排除。 注意 这将在创建包时删除隐藏文件。

更新现有的包

如果您在创建包后修改了包的有效载荷或标签文件,bagr 也可以通过执行以下操作重新计算所有摘要并更新适当的清单文件

bagr rebag path/to/bag

默认情况下,它将使用最初在包中使用的相同摘要算法。如果您想更改算法,可以通过指定 --digest-algorithm 选项来做到这一点。

限制

  1. 标签文件 必须 使用 UTF-8 编码
  2. 不支持 fetch.txt
  3. 不支持 BagIt 版本 1.0 之前的版本

路线图

  1. 实现包验证
  2. 支持 fetch.txt
  3. 支持BagIt 0.97
  4. 支持BagIt配置文件
  5. 支持非UTF-8字符编码

依赖项

~8–18MB
~218K SLoC