Geo: Fix error capture when repository syncing fails

Problem to solve

When investigating some container repository weirdness for an RFH I stumbled upon a recent code change from !185424 (merged). The code doesn't do exactly what it's supposed to do according to the issue.

To demonstrate this I added the following test:

let(:tags) { [{ name: '1', digest: 'sha256:123' }, { name: '2', digest: 'sha256:456' }, { name: '3', digest: 'sha256:789' }] }
let(:failed_tag) { tags.second }

it 'continues execution', :aggregate_failures do
  expect(subject).to receive(:sync_tag).with(tags.first)
  expect(subject).to receive(:sync_tag).with(tags.last)
end

⬆️ this fails with

expected: 1 time with arguments: ({:digest=>"sha256:789", :name=>"3"})
received: 0 times

which means that the loop never reached tags.last.

Proposal & Implementation

Revert commit !185424 (e4f12dd7) to only log the error instead of track_and_raise which stops the tags loop.

Relates to

#526306 (closed)

Edited by 🤖 GitLab Bot 🤖