Geo: On high retry count, alternate between snapshot and Git fetch
When a repository fails to sync via Git fetch too many times, Geo switches to a snapshot approach.
But it is possible for there to be a problem with the snapshot approach, for example:
- #209988 (closed)
- there is a recent unresolved problem where a customer had repos stuck failing to sync, but they succeeded by causing sync by Git fetch in Rails console.
We should of course always fix snapshotting. But perhaps we can improve the resilience of retries by alternating sync-by-snapshot with sync-by-Git-fetch, instead of only attempting sync-by-snapshot.