Fix sync not picking up external pushes on first run
The needs_pull optimization was computed from status before fetching
from remotes. If a repo was "In_sync" but received commits during
fetch, it was incorrectly skipped in the subtree pull phase.
Now repos that receive commits during fetch are always included in
the subtree pull, regardless of their pre-fetch status.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>