与LibGit2Sharp合并时,我试图解决简单的冲突。 问题是,对于已知文件,当这是唯一冲突时,我要使用“其”版本,否则将其称为目标版本。
目前,这就是我拥有的:
var saidConflict = repo.Index.Conflicts.FirstOrDefault(x => x.Ancestor.Path.Contains("Interface/App.config"));
if(repo.Index.Conflicts.Count() == 1 && saidConflict != null)
{
Debug.WriteLine("In the app config case");
//repo.CheckoutPaths(repo.Head.CanonicalName, new String[] { saidConflict.Theirs.Path } , new CheckoutOptions());
repo.Index.Add("Interface/App.config");
repo.Commit("Merging app.config", merger, merger, new CommitOptions());
}
else
{
Debug.WriteLine("Aborting merge");
repo.Reset(ResetMode.Hard, lastMergeCommit);
}
我似乎找不到找到与VS2017的“保持现状”相同行为的方法。 有没有人做过?
非常感谢您