public static List<GitData_File_Commit_Full> file_Commits(this string fileToMap, API_NGit nGit)
 {
     var file_Commits = new List<GitData_File_Commit_Full>();
     var mappedSha1 = new List<string>();
     var gitRepository = nGit.gitData_Repository(false);
     gitRepository.Config.Load_CommitTrees = true;
     gitRepository.loadData();
     var results = new List<string>();
     foreach(var commit in gitRepository.Commits)
         foreach(var file in commit.Tree)
         {
             if (file.FilePath == fileToMap)
                 if (mappedSha1.contains(file.Sha1).isFalse())
                 {
                     var fileCommit = new GitData_File_Commit_Full
                         {
                             FilePath  = fileToMap,
                             Sha1      = file.Sha1,
                             CommitId  = commit.Sha1,
                             Author    = commit.Author,
                             Committer    = commit.Committer,
                             When         = commit.When,
                             FileContents = nGit.open_Object(file.Sha1).bytes().ascii()
                         };
                     file_Commits.Add(fileCommit);
                     mappedSha1.add(file.Sha1);
                 }
         }
     return file_Commits;
 }
Exemplo n.º 2
0
 private GitData_Repository getGitData(API_NGit nGit, bool clearCache)
 {
     if (clearCache)
         "gitData".o2Cache(null);
      return "gitData".o2Cache(()=>
                 {
                         var gitData = nGit.gitData_Repository();
                         gitData.map_File_Commits();
                     return gitData;
                 });
 }