# # patch "automate.cc" # from [e15a4769643c342098932ebec2a689a4b7e33d4d] # to [d903d93a220e17d405313d26ade13edefac07760] # # patch "tests/t_scan.at" # from [b203ac2f2e3960f90effbaba0595c6681c34e386] # to [4dec2b73f7b7a7c746df73b27f32550def4918f4] # ======================================================================== --- automate.cc e15a4769643c342098932ebec2a689a4b7e33d4d +++ automate.cc d903d93a220e17d405313d26ade13edefac07760 @@ -1006,36 +1006,40 @@ app_state & app, std::ostream & output) { -/* -// FIXME ROSTERS: disabled until rewritten to use rosters if (args.size() > 1) throw usage(help_name); - manifest_data dat; - manifest_id ident; - if (args.size() == 0) { - revision_set rev; - manifest_map m_old, m_new; + L(F("dumping working copy manifest")); + app.require_working_copy(); - app.require_working_copy(); - calculate_unrestricted_revision(app, rev, m_old, m_new); + // FIXME: this should be refactored + revision_id base_rid; + roster_t roster; + get_base_revision(app, base_rid, roster); + temp_node_id_source nis; + editable_roster_base er(roster, nis); + cset work; + get_work_cset(work); + work.apply_to(er); - calculate_ident(m_new, ident); - write_manifest_map(m_new, dat); + data dat; + write_manifest_of_roster(roster, dat); + output.write(dat().data(), dat().size()); } else { + I(false); +/* +// FIXME ROSTERS: disabled until rewritten to use rosters + L(F("dumping manifest %s\n") % ident); ident = manifest_id(idx(args, 0)()); N(app.db.manifest_version_exists(ident), F("no manifest version %s found in database") % ident); app.db.get_manifest_version(ident, dat); +*/ } - - L(F("dumping manifest %s\n") % ident); - output.write(dat.inner()().data(), dat.inner()().size()); -*/ } // Name: get_file ======================================================================== --- tests/t_scan.at b203ac2f2e3960f90effbaba0595c6681c34e386 +++ tests/t_scan.at 4dec2b73f7b7a7c746df73b27f32550def4918f4 @@ -19,9 +19,20 @@ ]) AT_CHECK(CANONICALISE(foo/bar/testfile2)) -AT_DATA(manifest, [85d521304e3660f05bbb458b05d0efc6e981f832 foo/bar/testfile2 -14c5b672e2181377e41e6d8c5ce21457d8342667 foo/testfile1 -5c39de9ca49b3aa34fa21f5778954665d947476c testfile0 +AT_DATA(manifest, [dir "" + +dir "foo" + +dir "foo/bar" + + file "foo/bar/testfile2" +content @<:@85d521304e3660f05bbb458b05d0efc6e981f832@:>@ + + file "foo/testfile1" +content @<:@14c5b672e2181377e41e6d8c5ce21457d8342667@:>@ + + file "testfile0" +content @<:@5c39de9ca49b3aa34fa21f5778954665d947476c@:>@ ]) AT_CHECK(MONOTONE add testfile0 foo, [], [ignore], [ignore])