See PHI1750. Today, Phabricator attempts to use this fetch timeout policy:
- The initial clone of a repository may take up to 4 hours.
- Subsequent updates may take up to 15 minutes.
- DiffusionCommandEngine has a separate 15 minute time limit, which will make the effective initial clone time limit 15 minutes.
- DiffusionCommandEngine applies a time limit to passthru commands, but passthru commands do not support time limits.
- On initial import in Git, we fetch every ref. We need to get there eventually, but if we have a large number of refs to fetch we could fetch them individually to make the operation more observable/resumable.