shithub: furgit

Download patch

ref: e4659ebee6f2e51ba4c6bf653d66fd7947b031f7
parent: b99e33900bc9ba8c7b608725c9aa30fdf8b62f0e
author: Runxi Yu <me@runxiyu.org>
date: Sat Mar 7 22:43:52 EST 2026

format/pack/ingest: Thin pack fixing progress

--- a/format/pack/ingest/thin_fix.go
+++ b/format/pack/ingest/thin_fix.go
@@ -55,6 +55,10 @@
 
 	baseIDs := unresolvedThinBaseIDs(state)
 	total := len(baseIDs)
+	if total > 0 {
+		utils.WriteProgressf(state.opts.Progress, "fixing thin pack:   0%% (0/%d)\r", total)
+	}
+
 	for i, id := range baseIDs {
 		ty, content, err := state.opts.Base.ReadBytesContent(id)
 		if err != nil {
@@ -68,7 +72,9 @@
 
 		state.thinFixed = true
 
-		utils.WriteProgressf(state.opts.Progress, "fixing thin pack: %d/%d\r", i+1, total)
+		done := i + 1
+		percent := done * 100 / total
+		utils.WriteProgressf(state.opts.Progress, "fixing thin pack: %3d%% (%d/%d)\r", percent, done, total)
 	}
 
 	err = rewritePackHeaderAndTrailer(state)
@@ -77,7 +83,7 @@
 	}
 
 	if state.thinFixed {
-		utils.WriteProgressf(state.opts.Progress, "fixing thin pack: done.\n")
+		utils.WriteProgressf(state.opts.Progress, "fixing thin pack: 100%% (%d/%d), done.\n", total, total)
 	}
 
 	return nil
--