并行阶段的最佳方式?

我想并行处理文件并同时提交到不同的分支。

将同时进行多次访问。 repo.Index.Stage / repo.Commit API在同一个当前目录下工作,所以我认为这是不可能的。

你们能给我一些关于如何实现这一目标的提示吗? 一般的想法?

从可行性的角度来看,我可以想到两种不同的选择:

将“并行阶段文件”视为约束

git用语中的“staging”一词意味着使用索引。

为了并行放入文件,可以打开许多存储库实例,每个实例都接受一对不同的工作目录/索引。 所有这些都在同一个对象数据库中创建对象。

这可以通过Repository构造函数的可选RepositoryOptions参数来实现。

看到这个测试 ,以便第一眼看到这是如何实现的。

替代提案,准系统版

另一种选择是使用索引并直接在对象数据库中创建对象。 然而,这意味着什么都不会“上演”,并且必须手工创建Blob,Trees和Commits。

较低级别的API允许这种操作。 这个API甚至允许一个人对裸存储库“提交”

有关如何实现此目的的更多信息,请参阅ObjectDatabaseFixtureTreeDefinitionFixture测试套件。

此API仅在数据库中创建对象。 您必须自己更新分支的提示。 这可以通过Repo.Refs.Add()Repo.Refs.UpdateTarget()方法实现。