def packs.eq
import ezx@1.11.0.0/src/lock/plan.bend as Planimport Base
import ezx@1.11.0.0/src/lock/lock.bend as L
458# why the first package with a path holding `=` cannot be locked, or "" when
459# no package has one
460def packs.eq(ps: List<&2, L.Pack>) -> String:
461 match ps:
462 case []:
463 ""
464 case L.Pack{+hash, _src, fs} <> t:
465 +at = path.eq.first(fs)
466 packs.eq.pick(String.is_empty(at), hash, at, packs.eq(t))