#repository #thread-local #git2 #share #sharing #across #object

tlrepo

线程局部 git2::Repository,跨线程可共享

8 个版本 (破坏性)

0.7.0 2024 年 6 月 25 日
0.6.0 2023 年 10 月 28 日
0.5.0 2023 年 5 月 20 日
0.4.0 2023 年 3 月 16 日
0.1.0 2020 年 8 月 25 日

#241 in 并发

Download history 7/week @ 2024-05-31 3/week @ 2024-06-07 4/week @ 2024-06-14 120/week @ 2024-06-21 23/week @ 2024-06-28 69/week @ 2024-07-05

每月 471 次下载

MIT/Apache

5KB

tlrepo 提供了 ThreadLocalRepo,这是一种方便地在线程之间共享 git2::Repository 对象的方法。

标准的 git2::Repository 对象不支持在不进行某种形式的同步的情况下在线程之间共享。 tlrepo::ThreadLocalRepo 提供了一种方便的方式在每个线程上重新打开相同的仓库,并将打开的仓库线程局部地缓存以供重用。

您可以通过调用 ThreadLocalRepo::new 来创建一个 ThreadLocalRepo,或者通过使用扩展特质 tlrepo::RepositoryExt 来调用对现有 git2::Repository.thread_local()。您可以在线程之间共享 ThreadLocalRepo,通过调用 .get() 来获取一个 git2::Repository 对象以进行操作。


lib.rs:

tlrepo 提供了 ThreadLocalRepo,这是一种方便地在线程之间共享 git2::Repository 对象的方法。

标准的 git2::Repository 对象不支持在不进行某种形式的同步的情况下在线程之间共享。 tlrepo::ThreadLocalRepo 提供了一种方便的方式在每个线程上重新打开相同的仓库,并将打开的仓库线程局部地缓存以供重用。

您可以通过调用 ThreadLocalRepo::new 来创建一个 ThreadLocalRepo,或者通过使用扩展特质 tlrepo::RepositoryExt 来调用对现有 git2::Repository.thread_local()

依赖项

~9MB
~239K SLoC