2014-06-16 2 views
0

J'essaie d'utiliser libgit2sharp.Patch pour trouver la quantité de ligne ajoutée ou supprimée, mais je m'y suis une erreur alors que je tente de l'exécuter. Quand j'exécute mon projet asp.net mvc en mode débogage, il n'y a aucun problème, jusqu'à ce que je l'exécute sans mode de débogage, j'ai trop longtemps chargé ma page web et je n'ai pas montré la page. Lorsque je cours à nouveau en mode débogage, une erreur apparaît enfin dans la variable libgit2sharp.Patch avec le message d'erreur system.outofmemory. Voici comment je mets en œuvre 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 
             }; 

Répondre

0

Si vous n'êtes intéressé que par nombre d'ajouts/suppression par fichier, je vous suggère de se fient plutôt la construction suivante serait plus efficace.

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

Vous pouvez jeter un coup d'oeil à PR #660 où il a été introduit pour avoir un premier aperçu de son utilisation.

Remarque: En ce qui concerne l'exception OOM, nous souhaiterions obtenir plus d'informations à ce sujet. Seriez-vous l'obligeance d'ouvrir un problème dans la bug tracker afin que nous puissions obtenir un regard plus profond sur elle?

+0

Il fonctionne seulement si je lance mon projet en mode débogage, mais quand je le lance Whit ctrl + f5 j'ai obtenu ma charge localhost dans un temps long et la page ne semble pas après, je ne sais pas encore dans OOM ou non, car il a seulement une erreur quand je l'exécute pas en mode débogage, peut-être que vous avez une autre solution. – aji