summary refs log tree commit diff
path: root/LibGitTest/Test4.cs
diff options
context:
space:
mode:
Diffstat (limited to 'LibGitTest/Test4.cs')
-rw-r--r--LibGitTest/Test4.cs29
1 files changed, 29 insertions, 0 deletions
diff --git a/LibGitTest/Test4.cs b/LibGitTest/Test4.cs
new file mode 100644

index 0000000..5a9e47f --- /dev/null +++ b/LibGitTest/Test4.cs
@@ -0,0 +1,29 @@ +using LibGit; + +namespace LibGitTest; + +public class Test4 +{ + public static async Task Run() + { + Console.WriteLine("Test4 running"); + var repo = new GitRepo(new FileRepoSource(@"/home/Rory/git/spacebar/server-master/.git")); + var packs = repo.GetPacks().GetAsyncEnumerator(); + int count = 0; + if (Directory.Exists("out-git")) + Directory.Delete("out-git", true); + Directory.CreateDirectory("out-git"); + Directory.CreateDirectory("out-git/objects"); + while (await packs.MoveNextAsync()) + { + count += packs.Current.ObjectCount; + foreach (var gitPackObject in packs.Current.Index.Entries) + { + var item = packs.Current.Objects.First(x => x.Offset == gitPackObject.Offset); + Console.WriteLine($"{item.ObjType}"); + } + } + + Console.WriteLine($"Read {count} objects from pack files."); + } +} \ No newline at end of file