From cf02f2958c191bea02126faf8daf72a7aae76bd9 Mon Sep 17 00:00:00 2001 From: Runxi Yu Date: Sun, 8 Mar 2026 17:58:37 +0800 Subject: *: Fix lints --- format/pack/ingest/idx_write.go | 7 ++++++- internal/progress/counters.go | 17 +++++++++++++---- internal/progress/render.go | 8 ++++---- internal/progress/set.go | 12 ++++++++++-- objectstore/packed/store_lookup.go | 2 +- 5 files changed, 34 insertions(+), 12 deletions(-) diff --git a/format/pack/ingest/idx_write.go b/format/pack/ingest/idx_write.go index 04ab3aa2..922213d6 100644 --- a/format/pack/ingest/idx_write.go +++ b/format/pack/ingest/idx_write.go @@ -171,11 +171,16 @@ func writeIdx(state *ingestState) error { offsetMeter.Stop("done") } + total, err := intconv.IntToUint64(largeOffsetCount) + if err != nil { + return err + } + largeOffsetMeter := progress.New(progress.Options{ Writer: state.opts.Progress, Flush: state.opts.ProgressFlush, Title: "writing index large offsets", - Total: uint64(largeOffsetCount), + Total: total, }) var largeOffsetDone uint64 diff --git a/internal/progress/counters.go b/internal/progress/counters.go index 25d81878..7c7a5085 100644 --- a/internal/progress/counters.go +++ b/internal/progress/counters.go @@ -1,13 +1,22 @@ package progress -import "fmt" +import ( + "fmt" + + "codeberg.org/lindenii/furgit/internal/intconv" +) func (meter *Meter) renderCounters() string { if meter.total > 0 { - percent := int(meter.lastDone * 100 / meter.total) - meter.lastPercent = percent + u, err := intconv.Uint64ToInt(meter.lastDone * 100 / meter.total) + if err != nil { + return "overflow" + // TODO + } + + meter.lastPercent = u - return fmt.Sprintf("%3d%% (%d/%d)%s", percent, meter.lastDone, meter.total, meter.throughputSuffix) + return fmt.Sprintf("%3d%% (%d/%d)%s", meter.lastPercent, meter.lastDone, meter.total, meter.throughputSuffix) } return fmt.Sprintf("%d%s", meter.lastDone, meter.throughputSuffix) diff --git a/internal/progress/render.go b/internal/progress/render.go index 36836cde..6173016a 100644 --- a/internal/progress/render.go +++ b/internal/progress/render.go @@ -16,16 +16,16 @@ func (meter *Meter) render(now time.Time, eol string) { counters := meter.renderCounters() - clear := 0 + clear1 := 0 if len(counters) < meter.lastCounterW { - clear = meter.lastCounterW - len(counters) + 1 + clear1 = meter.lastCounterW - len(counters) + 1 } meter.lastCounterW = len(counters) line := meter.title + ": " + counters - if clear > 0 { - line += strings.Repeat(" ", clear) + if clear1 > 0 { + line += strings.Repeat(" ", clear1) } line += eol diff --git a/internal/progress/set.go b/internal/progress/set.go index b7ed5b28..06cf889d 100644 --- a/internal/progress/set.go +++ b/internal/progress/set.go @@ -1,6 +1,10 @@ package progress -import "time" +import ( + "time" + + "codeberg.org/lindenii/furgit/internal/intconv" +) // Set records current progress and renders when percent changed or the 1s tick // elapsed. @@ -19,7 +23,11 @@ func (meter *Meter) Set(done uint64, bytes uint64) { percentChanged := false if meter.total > 0 { - percent := int(done * 100 / meter.total) + percent, err := intconv.Uint64ToInt(done * 100 / meter.total) + if err != nil { + return // TODO + } + percentChanged = percent != meter.lastPercent } diff --git a/objectstore/packed/store_lookup.go b/objectstore/packed/store_lookup.go index a1bd9b85..4a6bfc9f 100644 --- a/objectstore/packed/store_lookup.go +++ b/objectstore/packed/store_lookup.go @@ -28,7 +28,7 @@ func (store *Store) lookup(id objectid.ObjectID) (location, error) { return loc, nil } - if store.refreshPolicy == RefreshPolicyOnMissing { + if store.refreshPolicy == RefreshPolicyOnMissing { //nolint:nestif err = store.Refresh() if err != nil { return zero, err -- cgit v1.3.1-10-gc9f91