def stale
import ezx@1.11.0.0/src/ws/moved.bend as Movedimport Base
import ezx@1.11.0.0/src/pkg/pkg.bend as K
193# why a plain lock refuses: the first committed file with a line naming a
194# moved member's recorded hash, "" when none does
195def stale(+ms: List<&2, Shift>, fs: List<&2, K.Source>) -> String:
196 match fs:
197 case []:
198 ""
199 case K.Source{+at, +text} <> tl:
200 +here = stale.moves(ms, at, text)
201 rest = stale(ms, tl)
202 Bool.pick(String, String.is_empty(here), rest, here)