- Notifications
You must be signed in to change notification settings - Fork 915
git diff
VulumeCode edited this page Feb 4, 2022 · 2 revisions
$ git diff using(varrepo=newRepository("path/to/your/repo")){foreach(TreeEntryChangescinrepo.Diff.Compare<TreeChanges>()){Console.WriteLine(c);}}$ git diff --cached using(varrepo=newRepository("path/to/your/repo")){foreach(TreeEntryChangescinrepo.Diff.Compare<TreeChanges>(repo.Head.Tip?.Tree,DiffTargets.Index)){Console.WriteLine(c);}}$ git diff HEAD using(varrepo=newRepository("path/to/your/repo")){foreach(TreeEntryChangescinrepo.Diff.Compare<TreeChanges>(repo.Head.Tip.Tree,DiffTargets.Index|DiffTargets.WorkingDirectory)){Console.WriteLine(c);}}$ git diff stringresult;using(varrepo=newRepository("path/to/your/repo")){List<Commit>CommitList=newList<Commit>();foreach(LogEntryentryinrepo.Commits.QueryBy("relative/path/to/your/file").ToList())CommitList.Add(entry.Commit);CommitList.Add(null);// Added to show correct initial addintChangeDesired=0;// Change difference desiredvarrepoDifferences=repo.Diff.Compare<Patch>((Equals(CommitList[ChangeDesired+1],null))?null:CommitList[ChangeDesired+1].Tree,(Equals(CommitList[ChangeDesired],null))?null:CommitList[ChangeDesired].Tree);PatchEntryChangesfile=null;try{file=repoDifferences.First(e =>e.Path=="relative/path/to/your/file");}catch{}// If the file has been renamed in the past- this search will failif(!Equals(file,null)){result=file.Patch;}}