···219219 return false, nil
220220 }
221221222222+ // fail early if target knot is offline.
223223+ if host, _ := db.GetHost(ctx, r.db, repo.KnotHostname()); host != nil {
224224+ if host.Status != models.HostStatusActive {
225225+ return false, nil
226226+ }
227227+ }
228228+222229 // HACK: check knot reachability with short timeout before running actual fetch.
223230 // This is crucial as git-cli doesn't support http connection timeout.
224231 // `http.lowSpeedTime` is only applied _after_ the connection.