]> gitweb.ps.run Git - ziggit/blobdiff - git.zig
replace packfile with optional
[ziggit] / git.zig
diff --git a/git.zig b/git.zig
index 01518c97d80837c7d7e4bc8326a46ad7972709af..fd79e6c6174baf640ad8612de07ddfc86428b417 100644 (file)
--- a/git.zig
+++ b/git.zig
@@ -4,6 +4,8 @@ const Alloc = std.mem.Allocator;
 const Reader = std.io.AnyReader;
 const Writer = std.io.AnyWriter;
 
+const MaxFileSize = 1024 * 1024;
+
 const Id = u160;
 const Commit = struct {
     author: []u8,
@@ -324,7 +326,10 @@ const Repo = struct {
     }
 
     pub fn getObject(self: *Repo, id: Id) !?Object {
-        return self.packfile.getObject(id);
+        if (self.packfile) |*packfile| {
+            return packfile.getObject(id);
+        }
+        return null;
     }
 };
 
@@ -341,8 +346,10 @@ test "parse idx" {
     var repo = try Repo.open(std.testing.allocator, "../microwindows/.git");
     defer repo.close();
 
-    std.debug.print("{}\n", .{repo.packfile.objectOffsets.keys().len});
-    std.debug.print("{}\n", .{repo.packfile.objectOffsets.values().len});
+    if (repo.packfile) |packfile| {
+        std.debug.print("{}\n", .{packfile.objectOffsets.keys().len});
+        std.debug.print("{}\n", .{packfile.objectOffsets.values().len});
+    }
 }
 
 test "get object" {