311: def ChangeSet.make_changeset(cs_name, source, target)
312: changes = ChangeSetBuilder.new(source, target)
313:
314: if not changes.has_changes?
315: UI.event :exit, "Nothing changed. Exiting."
316: else
317: begin
318: changes.detect_moved_files
319:
320: md_out = Zlib::GzipWriter.new(File.open(cs_name + ".yaml", "w"))
321: data_out = Zlib::GzipWriter.new(File.open(cs_name + ".fcs", "w"))
322:
323: changes.write_changeset(md_out, data_out)
324: ensure
325: md_out.close
326: data_out.close
327: end
328: end
329:
330: return changes
331: end