authorgravatar for hello@nektro.netMeghan Denny <hello@nektro.net> 2026-06-18 16:33:43 -07:00
committergravatar for hello@nektro.netMeghan Denny <hello@nektro.net> 2026-06-18 16:41:33 -07:00
loge1771f0b7a6ef37fc342a46f1dc8233bc5b2d1af
treeb79cecfc8b844a3cd0ef8824be2b1a48e9056e00
parentd398facfc305601c6628d986fe9306a046066b7a
signaturebadge-check Signed by SSH key SHA256:4hHJbtBRU58AYXwjL7fkz2fnQHdiye8x1QpTCQ0sHNw

missing changes for ee13f80f6a00477098711a81fdef8d65ca6d1c2e


1 files changed, 15 insertions(+), 10 deletions(-)

git.zig+15-10
......@@ -1291,8 +1291,8 @@ pub const Repository = struct {
12911291
12921292 pub fn diffFileIterator(r: *Repository, writable: anytype, commitid_from: ?CommitId, commitid_to: CommitId, S: type) !void {
12931293 const A = struct {
1294 fn item(w: anytype, mode: Tree.Object.Mode, id: Id, p: ?*const PathListNode, name: []const u8) !void {
1295 try S.item(w, .none, mode, &@splat('0'), id, .A, p, name);
1294 fn item(e: *Repository, w: anytype, mode: Tree.Object.Mode, id: Id, p: ?*const PathListNode, name: []const u8) !void {
1295 try S.item(e, w, .none, mode, &@splat('0'), id, .A, p, name);
12961296 }
12971297 fn dir(e: *Repository, w: anytype, t: Id, p: ?*const PathListNode, o: usize) !void {
12981298 const tree = try e.getTreeA(e.gpa, t);
......@@ -1301,19 +1301,19 @@ pub const Repository = struct {
13011301 try dir(e, w, obj.id.tree.id, &.{ .prev = p, .data = obj.name }, 0);
13021302 continue;
13031303 }
1304 try item(w, obj.mode, obj.id.erase(), p, obj.name);
1304 try item(e, w, obj.mode, obj.id.erase(), p, obj.name);
13051305 }
13061306 }
13071307 pub fn either(e: *Repository, w: anytype, p: ?*const PathListNode, obj: Tree.Object) !void {
13081308 if (obj.mode.type == .directory) {
13091309 return dir(e, w, obj.id.tree.id, &.{ .prev = p, .data = obj.name }, 0);
13101310 }
1311 return item(w, obj.mode, obj.id.erase(), p, obj.name);
1311 return item(e, w, obj.mode, obj.id.erase(), p, obj.name);
13121312 }
13131313 };
13141314 const D = struct {
1315 fn item(w: anytype, mode: Tree.Object.Mode, id: Id, p: ?*const PathListNode, name: []const u8) !void {
1316 try S.item(w, mode, .none, id, &@splat('0'), .D, p, name);
1315 fn item(e: *Repository, w: anytype, mode: Tree.Object.Mode, id: Id, p: ?*const PathListNode, name: []const u8) !void {
1316 try S.item(e, w, mode, .none, id, &@splat('0'), .D, p, name);
13171317 }
13181318 fn dir(e: *Repository, w: anytype, t: Id, p: ?*const PathListNode, o: usize) !void {
13191319 const tree = try e.getTreeA(e.gpa, t);
......@@ -1322,14 +1322,14 @@ pub const Repository = struct {
13221322 try dir(e, w, obj.id.tree.id, &.{ .prev = p, .data = obj.name }, 0);
13231323 continue;
13241324 }
1325 try item(w, obj.mode, obj.id.erase(), p, obj.name);
1325 try item(e, w, obj.mode, obj.id.erase(), p, obj.name);
13261326 }
13271327 }
13281328 pub fn either(e: *Repository, w: anytype, p: ?*const PathListNode, obj: Tree.Object) !void {
13291329 if (obj.mode.type == .directory) {
13301330 return dir(e, w, obj.id.tree.id, &.{ .prev = p, .data = obj.name }, 0);
13311331 }
1332 return item(w, obj.mode, obj.id.erase(), p, obj.name);
1332 return item(e, w, obj.mode, obj.id.erase(), p, obj.name);
13331333 }
13341334 };
13351335 const M = struct {
......@@ -1360,6 +1360,7 @@ pub const Repository = struct {
13601360 if (std.mem.eql(u8, before.id.erase(), after.id.erase())) {
13611361 if (!std.mem.eql(u8, &before.mode.intbytes(), &after.mode.intbytes())) {
13621362 try S.item(
1363 e,
13631364 w,
13641365 before.mode,
13651366 after.mode,
......@@ -1376,6 +1377,7 @@ pub const Repository = struct {
13761377 }
13771378 if (before.mode.type != after.mode.type) {
13781379 try S.item(
1380 e,
13791381 w,
13801382 before.mode,
13811383 after.mode,
......@@ -1402,6 +1404,7 @@ pub const Repository = struct {
14021404 continue;
14031405 }
14041406 try S.item(
1407 e,
14051408 w,
14061409 before.mode,
14071410 after.mode,
......@@ -1491,7 +1494,8 @@ pub const Repository = struct {
14911494
14921495 pub fn writeTreeDiffOnlyRaw(r: *Repository, writable: anytype, commitid: CommitId, parentid: ?CommitId) !void {
14931496 const S = struct {
1494 fn item(w: anytype, b_mode: Tree.Object.Mode, a_mode: Tree.Object.Mode, b_id: Id, a_id: Id, action: TreeDiff.Action, p: ?*const PathListNode, name: []const u8) !void {
1497 fn item(e: *Repository, w: anytype, b_mode: Tree.Object.Mode, a_mode: Tree.Object.Mode, b_id: Id, a_id: Id, action: TreeDiff.Action, p: ?*const PathListNode, name: []const u8) !void {
1498 _ = e;
14951499 if (p == null) {
14961500 try w.writevAll(&.{ ":", &b_mode.intbytes(), " ", &a_mode.intbytes(), " ", b_id, " ", a_id, " ", @tagName(action), "\t", name, "\n" });
14971501 return;
......@@ -1506,7 +1510,8 @@ pub const Repository = struct {
15061510
15071511 pub fn writeTreeDiffOnlySummary(r: *Repository, writable: anytype, commitid: CommitId, parentid: ?CommitId) !void {
15081512 const S = struct {
1509 fn item(w: anytype, b_mode: Tree.Object.Mode, a_mode: Tree.Object.Mode, b_id: Id, a_id: Id, action: TreeDiff.Action, p: ?*const PathListNode, name: []const u8) !void {
1513 fn item(e: *Repository, w: anytype, b_mode: Tree.Object.Mode, a_mode: Tree.Object.Mode, b_id: Id, a_id: Id, action: TreeDiff.Action, p: ?*const PathListNode, name: []const u8) !void {
1514 _ = e;
15101515 _ = b_id;
15111516 _ = a_id;
15121517 switch (action) {