Fix CI failures after go-git v6 upgrade and module rename · Entire
Fix CI failures after go-git v6 upgrade and module rename
98a36eb→main·
Soph·2mo ago·2 files·+11 added/-3 removed
- Make FetchToStore surface context.Canceled deterministically when the context is canceled, by joining ctx.Err() with any underlying read error. The cancellation tests raced against downstream pkt-line parse/ network-close errors; under go-git v6 timing this began flaking in CI.
- Update .golangci.yaml ireturn allow list to use the new module path (entire.io/git-sync), missed during the rename from github.com/entirehq.
Sessions
cea42415e239View transcript
[?
can you take a look again, we renamed the package name and I rebased onto main, also tests seem to failClaude Code·Opus 4.7[1m]·1 step](/content/gh/entireio/git-sync/session/4746b2b9-d72d-4d6a-81af-a70ba92e9c94#timeline-cea42415e239/index.html)
Changes
2
M.golangci.yaml+1/-1
internal/gitproto
Mfetch.go+10/-2
96 unmodified lines
97
98
99
100
100
101
102
103
96 unmodified lines
- github.com/go-git/go-git/v6/storage.Storer
- github.com/go-git/go-git/v6/plumbing/storer.EncodedObjectIter
- github.com/go-git/go-billy/v6.Filesystem
- github.com/entirehq/git-sync/internal/auth.Method
- entire.io/git-sync/internal/auth.Method
nolintlint:
require-explanation: true
require-specific: true
M.golangci.yaml+1/-1
58 unmodified lines
59
60
61
62
63
64
64
65
66
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
58 unmodified lines
desired map[plumbing.ReferenceName]DesiredRef,
targetRefs map[plumbing.ReferenceName]plumbing.Hash,
) error {
var err error
switch s.Protocol {
case "v2":
return fetchToStoreV2(ctx, store, conn, s.V2Caps, desired, targetRefs, s.Verbose)
err = fetchToStoreV2(ctx, store, conn, s.V2Caps, desired, targetRefs, s.Verbose)
case "v1":
return fetchToStoreV1(ctx, store, conn, s.V1Adv, desired, targetRefs, s.Verbose)
err = fetchToStoreV1(ctx, store, conn, s.V1Adv, desired, targetRefs, s.Verbose)
default:
return fmt.Errorf("unsupported source protocol %q", s.Protocol)
}
// If the context was canceled, surface that as the primary error — any
// downstream parse/network failure is a side effect of cancellation and
// would race with ctx.Err() depending on read timing.
if err != nil && ctx.Err() != nil {
return errors.Join(ctx.Err(), err)
}
return err
}
// FetchPack fetches a packfile from source and returns the pack stream as a reader.
Minternal/gitproto/fetch.go+10/-2