tangled
alpha
login
or
join now
runxiyu.tngl.sh
/
furgit
6
fork
atom
Fast implementation of Git in pure Go
6
fork
atom
overview
issues
pulls
pipelines
*: Fix lints
runxiyu.tngl.sh
5 days ago
cf02f295
2f427535
verified
This commit was signed with the committer's
known signature
.
runxiyu.tngl.sh
SSH Key Fingerprint:
SHA256:jdcgZM4f40eqgoEW57poBu5vM9WoGE02ZzhWbfbNzc0=
+34
-12
5 changed files
expand all
collapse all
unified
split
format
pack
ingest
idx_write.go
internal
progress
counters.go
render.go
set.go
objectstore
packed
store_lookup.go
+6
-1
format/pack/ingest/idx_write.go
···
171
offsetMeter.Stop("done")
172
}
173
0
0
0
0
0
174
largeOffsetMeter := progress.New(progress.Options{
175
Writer: state.opts.Progress,
176
Flush: state.opts.ProgressFlush,
177
Title: "writing index large offsets",
178
-
Total: uint64(largeOffsetCount),
179
})
180
181
var largeOffsetDone uint64
···
171
offsetMeter.Stop("done")
172
}
173
174
+
total, err := intconv.IntToUint64(largeOffsetCount)
175
+
if err != nil {
176
+
return err
177
+
}
178
+
179
largeOffsetMeter := progress.New(progress.Options{
180
Writer: state.opts.Progress,
181
Flush: state.opts.ProgressFlush,
182
Title: "writing index large offsets",
183
+
Total: total,
184
})
185
186
var largeOffsetDone uint64
+13
-4
internal/progress/counters.go
···
1
package progress
2
3
-
import "fmt"
0
0
0
0
4
5
func (meter *Meter) renderCounters() string {
6
if meter.total > 0 {
7
-
percent := int(meter.lastDone * 100 / meter.total)
8
-
meter.lastPercent = percent
0
0
0
9
10
-
return fmt.Sprintf("%3d%% (%d/%d)%s", percent, meter.lastDone, meter.total, meter.throughputSuffix)
0
0
11
}
12
13
return fmt.Sprintf("%d%s", meter.lastDone, meter.throughputSuffix)
···
1
package progress
2
3
+
import (
4
+
"fmt"
5
+
6
+
"codeberg.org/lindenii/furgit/internal/intconv"
7
+
)
8
9
func (meter *Meter) renderCounters() string {
10
if meter.total > 0 {
11
+
u, err := intconv.Uint64ToInt(meter.lastDone * 100 / meter.total)
12
+
if err != nil {
13
+
return "overflow"
14
+
// TODO
15
+
}
16
17
+
meter.lastPercent = u
18
+
19
+
return fmt.Sprintf("%3d%% (%d/%d)%s", meter.lastPercent, meter.lastDone, meter.total, meter.throughputSuffix)
20
}
21
22
return fmt.Sprintf("%d%s", meter.lastDone, meter.throughputSuffix)
+4
-4
internal/progress/render.go
···
16
17
counters := meter.renderCounters()
18
19
-
clear := 0
20
if len(counters) < meter.lastCounterW {
21
-
clear = meter.lastCounterW - len(counters) + 1
22
}
23
24
meter.lastCounterW = len(counters)
25
26
line := meter.title + ": " + counters
27
-
if clear > 0 {
28
-
line += strings.Repeat(" ", clear)
29
}
30
31
line += eol
···
16
17
counters := meter.renderCounters()
18
19
+
clear1 := 0
20
if len(counters) < meter.lastCounterW {
21
+
clear1 = meter.lastCounterW - len(counters) + 1
22
}
23
24
meter.lastCounterW = len(counters)
25
26
line := meter.title + ": " + counters
27
+
if clear1 > 0 {
28
+
line += strings.Repeat(" ", clear1)
29
}
30
31
line += eol
+10
-2
internal/progress/set.go
···
1
package progress
2
3
-
import "time"
0
0
0
0
4
5
// Set records current progress and renders when percent changed or the 1s tick
6
// elapsed.
···
19
percentChanged := false
20
21
if meter.total > 0 {
22
-
percent := int(done * 100 / meter.total)
0
0
0
0
23
percentChanged = percent != meter.lastPercent
24
}
25
···
1
package progress
2
3
+
import (
4
+
"time"
5
+
6
+
"codeberg.org/lindenii/furgit/internal/intconv"
7
+
)
8
9
// Set records current progress and renders when percent changed or the 1s tick
10
// elapsed.
···
23
percentChanged := false
24
25
if meter.total > 0 {
26
+
percent, err := intconv.Uint64ToInt(done * 100 / meter.total)
27
+
if err != nil {
28
+
return // TODO
29
+
}
30
+
31
percentChanged = percent != meter.lastPercent
32
}
33
+1
-1
objectstore/packed/store_lookup.go
···
28
return loc, nil
29
}
30
31
-
if store.refreshPolicy == RefreshPolicyOnMissing {
32
err = store.Refresh()
33
if err != nil {
34
return zero, err
···
28
return loc, nil
29
}
30
31
+
if store.refreshPolicy == RefreshPolicyOnMissing { //nolint:nestif
32
err = store.Refresh()
33
if err != nil {
34
return zero, err