Skip to content

Don't race on err assignment

There is a race in err assignment between blob and repo walk goroutines, which can cause one of the errors to be skipped.

If error in the repo walk is ignored due to this race, then cleaner proceeds to mark and sweep phase, where only tags processed up until error happened are considered and the rest are simply forgotten about and their blobs get deleted, leading to errors like #8

Merge request reports