- Notifications
You must be signed in to change notification settings - Fork 915
git cat file
Piyush Rungta edited this page Jun 23, 2024 · 2 revisions
$git cat-file{sha}:{filename} repo.Head.Tip[{FilePathToContentFrom}].TargetasBlob;using(varcontent=newStreamReader(blob.GetContentStream(),Encoding.UTF8)){commitContent=content.ReadToEnd();}From StackOverFlow
usingSystem;usingSystem.IO;usingSystem.Text;usingSystem.Collections.Generic;usingLibGit2Sharp;namespacelibgitblob{classMainClass{publicstaticvoidMain(string[]args){varrepo=newRepository("/your/repo/path");foreach(variteminrepo.RetrieveStatus()){if(item.State==FileStatus.Modified){varblob=repo.Head.Tip[item.FilePath].TargetasBlob;stringcommitContent;using(varcontent=newStreamReader(blob.GetContentStream(),Encoding.UTF8)){commitContent=content.ReadToEnd();}stringworkingContent;using(varcontent=newStreamReader(repo.Info.WorkingDirectory+Path.DirectorySeparatorChar+item.FilePath,Encoding.UTF8)){workingContent=content.ReadToEnd();}Console.WriteLine("\n\n~~~~ Original file ~~~~");Console.WriteLine(commitContent);Console.WriteLine("\n\n~~~~ Current file ~~~~");Console.WriteLine(workingContent);}}}}}