2014-06-16 78 views
0

我嘗試使用libgit2sharp.Patch來查找添加或刪除了多少行,但是當我嘗試運行它時遇到錯誤。當我以調試模式運行我的asp.net mvc項目時,它沒有任何問題,直到我運行它時沒有調試模式,我的網絡負載過長,沒有顯示頁面。當我再次以調試模式運行時,最終會從libgit2sharp.Patch變量出現錯誤消息system.outofmemory。我這是怎麼實現libgit2sharp.Patchlibgit2sharp.Patch outofmemory

Patch treePatchInfo = repo.Diff.Compare<Patch>(firstTree, compareTree, null, compareOptions: compareOptions); 
        commitChangeValue = from s in treeChangeInfo 
             let patch = treePatchInfo[s.Path] 
             select new CommitChangeModel 
             { 
              ChangeKind = s.Status, 
              LinesAdded = patch.LinesAdded, 
              LinesDeleted = patch.LinesDeleted, 
              OldPath = s.Path, 
              Patch = patch.Patch, 
              Path = s.Path 
             }; 

回答

0

如果你只在添加/每文件刪除的號碼感興趣的話,我建議你,而依靠下面的結構會更有效。

var stats = repo.Diff.Compare<PatchStats>(...); 

你可以在那裏它被引入,以獲取其使用的第一握持在PR #660採取偷看。

說明:關於OOM異常,我們非常希望獲得關於它的更多信息。您是否善於在bug tracker中打開一個問題,以便我們更深入地瞭解它?

+0

它只工作,如果我在調試模式下運行我的項目,但是當我運行它惠特CTRL + F5我得到我的本地主機加載很長一段時間,並沒有出現後頁面,我不知道它仍然在OOM或不是,因爲它只有當我運行它不在調試模式時出現錯誤,也許你有另一種解決方案。 – aji