其他分享
首页 > 其他分享> > 并行阶段的最佳方法?

并行阶段的最佳方法?

作者:互联网

我想并行暂存文件并同时提交到不同的分支.

同时将有多个访问权限. repo.Index.Stage / repo.Commit API在同一当前目录上工作,所以我认为这是不可能的.

你们能给我一些如何实现的提示吗?一个一般的想法?

解决方法:

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

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

git术语中的“ staging”一词暗指使用索引.

为了并行暂存文件,可以打开许多存储库实例,每个存储库实例接受不同的一对工作目录/索引.它们都在同一个对象数据库中创建对象.

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

请看此this test,以初步了解如何实现.

替代方案,准系统版

另一种选择是不使用索引并直接在对象数据库中创建对象.但是,这意味着不会“上演”任何内容,并且必须手动创建Blob,Trees和Commits.

较低级别的API允许此类操作.此API甚至允许人们针对裸仓库“提交”.

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

该API仅在数据库中创建对象.您将必须自己更新分支的尖端.这要归功于Repo.Refs.Add()和Repo.Refs.UpdateTarget()方法.

标签:libgit2sharp,libgit2,c
来源: https://codeday.me/bug/20191031/1971941.html