aboutsummaryrefslogtreecommitdiff
path: root/format/pack/ingest/resolve_all.go
diff options
context:
space:
mode:
authorGravatar Runxi Yu2026-03-08 14:15:55 +0800
committerGravatar Runxi Yu2026-03-08 14:15:55 +0800
commit4a17412255e294e99f2d11e9b8458e30bbe58292 (patch)
tree7d4b83d37abad439c61a5d626cf1609c0b3727d6 /format/pack/ingest/resolve_all.go
parentinternal/progress: Add progress meter (diff)
signatureNo signature
format/pack/ingest: Use progress API
Diffstat (limited to 'format/pack/ingest/resolve_all.go')
-rw-r--r--format/pack/ingest/resolve_all.go18
1 files changed, 9 insertions, 9 deletions
diff --git a/format/pack/ingest/resolve_all.go b/format/pack/ingest/resolve_all.go
index 65cfe44b..e0ad2281 100644
--- a/format/pack/ingest/resolve_all.go
+++ b/format/pack/ingest/resolve_all.go
@@ -3,7 +3,7 @@ package ingest
import (
"errors"
- "codeberg.org/lindenii/furgit/internal/utils"
+ "codeberg.org/lindenii/furgit/internal/progress"
)
// resolveAll resolves all delta records and finalizes ObjectID/RealType for every record.
@@ -22,11 +22,14 @@ func resolveAll(state *ingestState) error {
return nil
}
- step := progressStep(pending)
-
var done uint32
- utils.BestEffortFprintf(state.opts.Progress, "resolving deltas: 0%% (0/%d)\r", pending)
+ meter := progress.New(progress.Options{
+ Writer: state.opts.Progress,
+ Flush: state.opts.ProgressFlush,
+ Title: "resolving deltas",
+ Total: uint64(pending),
+ })
for idx := range state.records {
if state.records[idx].resolved {
@@ -34,10 +37,7 @@ func resolveAll(state *ingestState) error {
}
done++
- if done%step == 0 || done == pending {
- percent := done * 100 / pending
- utils.BestEffortFprintf(state.opts.Progress, "resolving deltas: %3d%% (%d/%d)\r", percent, done, pending)
- }
+ meter.Set(uint64(done), 0)
visiting := make(map[int]struct{})
@@ -65,7 +65,7 @@ func resolveAll(state *ingestState) error {
state.baseCache.add(idx, ty, content)
}
- utils.BestEffortFprintf(state.opts.Progress, "resolving deltas: 100%% (%d/%d), done.\n", pending, pending)
+ meter.Stop("done")
return nil
}