#lock #lock-file #git #marker #resources #commit #fail

废弃 git-lock

请使用 gix-<thiscrate> 代替(‘git’ -> ‘gix’)

16个版本 (10个稳定版)

3.0.3 2023年2月17日
3.0.1 2022年12月19日
3.0.0 2022年11月21日
2.2.0 2022年11月17日
0.1.0 2021年6月23日

#30 in #fail

Download history 244/week @ 2024-03-13 238/week @ 2024-03-20 141/week @ 2024-03-27 244/week @ 2024-04-03 163/week @ 2024-04-10 164/week @ 2024-04-17 245/week @ 2024-04-24 350/week @ 2024-05-01 147/week @ 2024-05-08 118/week @ 2024-05-15 161/week @ 2024-05-22 168/week @ 2024-05-29 191/week @ 2024-06-05 322/week @ 2024-06-12 305/week @ 2024-06-19 286/week @ 2024-06-26

1,133 每月下载次数
13 个crate中使用(4个直接使用)

MIT/Apache

61KB
1K SLoC

以git的方式使用锁文件,自动清理是其中最显著的功能。

  • 可写入的锁文件,可以原子性地替换它们所锁定的资源
  • 只读标记,用于锁定资源而不打算覆盖它
  • 在释放或接收到信号时自动删除锁文件和中间目录

lib.rs:

以git风格注册的锁文件,以便原子性地更改资源。

在这个模型中,读取总是原子的,可以直接执行,而写入则通过这里实现的锁定机制来简化。

锁文件主要是 git-tempfile,它具有自动清理功能以及以下特性

  • 锁文件名称的一致性
  • 如果无法立即获得锁,则阻塞线程(带有超时)或立即失败
  • 将锁文件提交到原子地放置在原始锁定文件的位置

限制

  • 由于锁文件与实际资源分开,锁定仅是一种约定,而不是强制执行。
  • git-tempfile的限制适用。

依赖项

~3–11MB
~128K SLoC