aboutsummaryrefslogtreecommitdiff
path: root/format/pack
diff options
context:
space:
mode:
authorGravatar Runxi Yu2026-03-08 03:46:13 +0800
committerGravatar Runxi Yu2026-03-08 03:46:13 +0800
commit4043486a652566923b27d1a90eedcdc8d9b0b3ea (patch)
treef43cbaae89ffebe95f973b6de142e0f1a0e091b6 /format/pack
parentformat/pack/ingest: Thin pack fixing progress (diff)
signatureNo signature
*: Reformat v0.1.75
Diffstat (limited to 'format/pack')
-rw-r--r--format/pack/ingest/ingest.go4
-rw-r--r--format/pack/ingest/resolve_all.go3
-rw-r--r--format/pack/ingest/scan.go4
-rw-r--r--format/pack/ingest/thin_fix.go1
4 files changed, 11 insertions, 1 deletions
diff --git a/format/pack/ingest/ingest.go b/format/pack/ingest/ingest.go
index e503b285..0e4352e1 100644
--- a/format/pack/ingest/ingest.go
+++ b/format/pack/ingest/ingest.go
@@ -52,6 +52,7 @@ func ingest(state *ingestState) (out Result, err error) {
}
utils.WriteProgressf(state.opts.Progress, "writing index...\r")
+
err = state.packFile.Sync()
if err != nil {
return Result{}, &DestinationWriteError{Op: fmt.Sprintf("sync pack: %v", err)}
@@ -61,15 +62,18 @@ func ingest(state *ingestState) (out Result, err error) {
if err != nil {
return Result{}, err
}
+
utils.WriteProgressf(state.opts.Progress, "writing index: done.\n")
if state.opts.WriteRev {
utils.WriteProgressf(state.opts.Progress, "writing reverse index...\r")
}
+
err = writeRev(state)
if err != nil {
return Result{}, err
}
+
if state.opts.WriteRev {
utils.WriteProgressf(state.opts.Progress, "writing reverse index: done.\n")
}
diff --git a/format/pack/ingest/resolve_all.go b/format/pack/ingest/resolve_all.go
index e71d38d1..ec14748f 100644
--- a/format/pack/ingest/resolve_all.go
+++ b/format/pack/ingest/resolve_all.go
@@ -11,6 +11,7 @@ func resolveAll(state *ingestState) error {
state.unresolvedRefDeltas = state.unresolvedRefDeltas[:0]
var pending uint32
+
for idx := range state.records {
if !state.records[idx].resolved {
pending++
@@ -22,7 +23,9 @@ func resolveAll(state *ingestState) error {
}
step := progressStep(pending)
+
var done uint32
+
utils.WriteProgressf(state.opts.Progress, "resolving deltas: 0%% (0/%d)\r", pending)
for idx := range state.records {
diff --git a/format/pack/ingest/scan.go b/format/pack/ingest/scan.go
index 94251cb9..2fa88b51 100644
--- a/format/pack/ingest/scan.go
+++ b/format/pack/ingest/scan.go
@@ -22,10 +22,12 @@ func streamPackAndScan(state *ingestState) error {
)
utils.WriteProgressf(state.opts.Progress, "validating pack header...\r")
+
err = readAndValidatePackHeader(state)
if err != nil {
return err
}
+
utils.WriteProgressf(state.opts.Progress, "validating pack header: done.\n")
state.records = make([]objectRecord, 0, state.objectCountHeader)
@@ -36,7 +38,7 @@ func streamPackAndScan(state *ingestState) error {
step := progressStep(total)
utils.WriteProgressf(state.opts.Progress, "receiving objects: 0%% (0/%d)\r", total)
- for i := uint32(0); i < total; i++ {
+ for i := range total {
nextOffset, err := scanOneEntry(state, state.stream.consumed)
if err != nil {
return err
diff --git a/format/pack/ingest/thin_fix.go b/format/pack/ingest/thin_fix.go
index 35068079..b1d8ae7c 100644
--- a/format/pack/ingest/thin_fix.go
+++ b/format/pack/ingest/thin_fix.go
@@ -54,6 +54,7 @@ func maybeFixThin(state *ingestState) error {
state.stream.consumed = consumed
baseIDs := unresolvedThinBaseIDs(state)
+
total := len(baseIDs)
if total > 0 {
utils.WriteProgressf(state.opts.Progress, "fixing thin pack: 0%% (0/%d)\r", total)