我写了.net core 2.0 web应用程序。在我的应用程序中,我使用git库:" LibGit2Sharp"
我有提交问题 - 我的应用程序从外部服务获取请求,并且必须在创建文件和创建提交添加文件之后通过休息请求获取数据。在Crone中(5分钟)我将数据推送到git服务器。
如果应用程序有很多请求git停止工作...我丢失了整个历史记录(git repo中的所有文件)。 (我保存提交ID以获得差异)
我的提交代码:
if (flagHtml)
Commands.Stage(repo, fileName + ".html");
if (flagDisplay)
Commands.Stage(repo, fileName + ".json");
var author = new Signature(notification.userName, $"{notification.userName}@test.test", DateTime.Now);
var commit = repo.Commit($"Update asset: {notification.assetId} by {notification.userName}.", author, author, new CommitOptions { AllowEmptyCommit = true });
我在Mutex中调用此方法。我找到的只有一种解决方法是在提交后输入Sleep 1秒(在互斥内部)。所以它有时间在下一次提交之前进行处理。
但我担心做这个是错误的想法,因为如果我得到更大的文件1秒就不够了。