// Start with a dump Link function that will write a link to a file string lineSeparator = "\n" string fieldSeparator = ";" Buffer bufLink = create() void addModuleVersion (Buffer bufLink, ModuleVersion mv) { bufLink += fullName mv bufLink += fieldSeparator bufLink += versionString mv bufLink += fieldSeparator } void reportLink (Stream st, Link L) { ModuleVersion mvSource = sourceVersion L ModuleVersion mvLink = linkVersion L ModuleVersion mvTarget = targetVersion L bufLink = "" // Source Module + Version + Object Abs No addModuleVersion (bufLink, mvSource) bufLink += sourceAbsNo L "" bufLink += fieldSeparator // Link Module + Version addModuleVersion (bufLink, mvLink) // Target Module, Version + Object AbsNo addModuleVersion (bufLink, mvTarget) bufLink += targetAbsNo L "" bufLink += fieldSeparator // Info about echoed vs. non echoed link bufLink += echo L "" bufLink += lineSeparator st << bufLink delete mvSource delete mvLink delete mvTarget } void reportModule (Stream st, Module mod) { Object o Link L for o in entire mod do { for L in all (o->"*") do { reportLink (st, L) } } flush st } string sFile = tempFileName() ".txt" print "Checkout: " sFile "\n" Stream st = write sFile reportModule (st, current Module) close st