diff options
| author | DanConwayDev <DanConwayDev@protonmail.com> | 2026-02-18 09:24:10 +0000 |
|---|---|---|
| committer | DanConwayDev <DanConwayDev@protonmail.com> | 2026-02-18 09:24:10 +0000 |
| commit | 85d621c791efaad1245c1aec8e5185a1eb78c7b9 (patch) | |
| tree | c14544af0970c3a8a9519d697e48ae7de0f707b3 /src/git/subprocess.rs | |
| parent | 0c01797812bb77fc81d0efe58f0e7858f2b7af66 (diff) | |
fix: break circular deadlock in sync loop by including purgatory in URL lookup
The sync loop calls fetch_repository_data() to get clone URLs so it knows
where to fetch git data from. Previously this only queried the database,
which means an announcement still in purgatory (no git data yet) would
return no clone URLs, so the sync loop could never fetch the git data
needed to promote the announcement - a circular deadlock.
Fix by switching to fetch_repository_data_with_purgatory() which combines
database announcements with purgatory announcements. Update the trait
method's doc comment to document this behaviour.
The mock implementation in tests is unaffected since it returns
pre-configured data rather than delegating to either function.
Diffstat (limited to 'src/git/subprocess.rs')
0 files changed, 0 insertions, 0 deletions