#git #file #lfs #pull #pattern #pulling #git-lfs

bin+lib lfspull

一个使用纯 Rust 实现的简单 git lfs 文件拉取工具。目前只能拉取文件/文件夹,并且仅支持 token 认证。

3 个版本 (破坏性更新)

0.3.0 2024 年 8 月 21 日
0.2.0 2023 年 3 月 27 日
0.1.0 2022 年 10 月 21 日

#405文件系统

Download history 4/week @ 2024-05-15 98/week @ 2024-05-22 137/week @ 2024-05-29 147/week @ 2024-06-05 102/week @ 2024-06-12 138/week @ 2024-06-19 170/week @ 2024-06-26 34/week @ 2024-07-03 14/week @ 2024-07-10 2/week @ 2024-07-17 19/week @ 2024-07-24 67/week @ 2024-07-31 113/week @ 2024-08-07 122/week @ 2024-08-14

每月 323 次下载

MIT 许可证

35KB
664

LFSPull - git-lfs 的简单拉取工具

Crates.io Documentation CI Coverage Status License

特性

LFSPull 允许您从 git-lfs 拉取文件。目前仅支持

  • Token 认证
  • 拉取单个文件
  • 支持 glob 模式,并拉取所有匹配项
  • 与原始 git-lfs 兼容的缓存
  • 下载文件的哈希验证

CLI 指南

CLI 非常简单易懂。

  • -f / --file-to-pull [FILE] 单个文件下载模式
    • 例如 lfspull -f my_file.tar.gz 下载文件
  • '-r / --recurse-pattern [PATTERN]' 下载匹配该模式的全部内容
    • 例如 'lfspull -r "*.tgz"' 下载此文件夹中所有 .tgz 文件
    • 例如 'lfspull -r "**/*.tgz"' 下载此文件夹及其所有子文件夹中的所有 .tgz 文件
  • '-b / --random-bytes [RANDOM_BYTES]' 用于临时文件名。请参阅 https://docs.rs/tempfile/latest/tempfile/struct.Builder.html#method.rand_bytes
  • '-a / --access-token [TOKEN]' 设置令牌 - 也可以通过 $ACCESS_TOKEN 从环境变量中设置
  • '-v' 用于详细模式

库 API 指南

请参阅我们的 docs.rs 以获取示例代码和用于检查文件来源的 Gherkin 测试。

变更日志

0.3.0

  • 使用 stream_bytes 将对象直接下载到临时文件中,避免 'x 字节的内存分配失败'

依赖项

~10–24MB
~383K SLoC