GitScc.GitRepository.DiffFile C# (CSharp) Method

DiffFile() public method

public DiffFile ( string fileName, string commitId1, string commitId2 ) : string
fileName string
commitId1 string
commitId2 string
return string
        public string DiffFile(string fileName, string commitId1, string commitId2)
        {
            using (var repository = GetRepository())
            {
                var commitOld = repository.Lookup<LibGit2Sharp.Commit>(commitId1);
                var commitNew = repository.Lookup<LibGit2Sharp.Commit>(commitId2);
                var diffTree = repository.Diff.Compare<Patch>(commitOld.Tree, commitNew.Tree);
                return diffTree[fileName].Patch;
            }
        }

Usage Example

Esempio n. 1
0
        public void DiffFileTest()
        {
            GitRepository.Init(tempFolder);
            File.WriteAllLines(tempFilePath, lines);

            GitRepository tracker = new GitRepository(tempFolder);
            tracker.StageFile(tempFile);
            tracker.Commit("test message");
            File.WriteAllText(tempFilePath, "changed text");
            var diffFile = tracker.DiffFile(tempFile);
            var diff = File.ReadAllText(diffFile);
            Assert.IsTrue(diff.Contains("@@ -1,3 +1 @@"));
        }