Skip to content
This repository was archived by the owner on Sep 11, 2020. It is now read-only.

Commit 0d69681

Browse files
authored
Merge pull request #632 from keybase/strib/cleanup-index-map
packfile: delete index maps from memory when no longer needed
2 parents 50732e3 + 1e9ad3e commit 0d69681

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

plumbing/format/packfile/delta_selector.go

+6
Original file line numberDiff line numberDiff line change
@@ -227,6 +227,12 @@ func (dw *deltaSelector) walk(
227227
) error {
228228
indexMap := make(map[plumbing.Hash]*deltaIndex)
229229
for i := 0; i < len(objectsToPack); i++ {
230+
// Clean up the index map for anything outside our pack
231+
// window, to save memory.
232+
if i > int(packWindow) {
233+
delete(indexMap, objectsToPack[i-int(packWindow)].Hash())
234+
}
235+
230236
target := objectsToPack[i]
231237

232238
// If we already have a delta, we don't try to find a new one for this

0 commit comments

Comments
 (0)