pub fn is_lock_contention(err: &Error) -> boolExpand description
Whether err is a whole-repository lock-contention failure — another
process held git’s index.lock or jj’s working-copy / op-heads lock, so the
command couldn’t even start. Such a failure is pre-execution and therefore
safe to retry even on a mutating operation (the repo was never modified).
Per-ref lock failures (cannot lock ref, <ref>.lock) are deliberately not
classified here — they can occur mid-way through a multi-ref push/fetch,
where a retry would not be idempotent. Conflict, “nothing to commit”, a real
non-zero exit, a timeout, a signal, or a missing binary are also not lock
contention and must not be retried this way.