# # # patch "mtn_cvs/cvs_sync.cc" # from [b55447689889185eb3ecb009847b2bae65c887b7] # to [05ce02a596b076dc862d92f378a0a361edf0865b] # # patch "mtn_cvs/cvs_sync.hh" # from [691da87c1325aa135a3763b60b3e16a0c3a7e99a] # to [28c38d5e23c87d73d67c4ba51feb75bfd601786e] # # patch "mtn_cvs/mtn_cvs.cc" # from [f669fa6b60bbe5118f922fde6f5a33abf5137515] # to [d44d6722cfa17b1f68dd6760c64c2e0bebb71877] # ============================================================ --- mtn_cvs/cvs_sync.cc b55447689889185eb3ecb009847b2bae65c887b7 +++ mtn_cvs/cvs_sync.cc 05ce02a596b076dc862d92f378a0a361edf0865b @@ -414,6 +414,7 @@ cvs_sync::cvs_repository *cvs_sync::prep { std::string rep,mod,br; // search for module and last revision guess_repository(rep, mod, br, last_sync_info, lastid, app); + L(FL("prepare_sync: last id %s\n") % lastid); if (repository.empty() || module.empty()) { repository=rep; module=mod; @@ -448,6 +449,21 @@ cvs_sync::cvs_repository *cvs_sync::prep } return repo; } + +revision_id cvs_sync::last_sync(mtncvs_state &app) +{ + app.open(); + mtn_automate::sync_map_t last_sync_info; + revision_id lastid; + app.opts.branchname=branch_name(app.get_option("branch")); + if (!app.opts.branchname().empty() && app.opts.branchname()[app.opts.branchname().size()-1]=='\n') + app.opts.branchname=branch_name(app.opts.branchname().substr(0,app.opts.branchname().size()-1)); + std::string rep,mod,br; + // search for module and last revision + guess_repository(rep, mod, br, last_sync_info, lastid, app); + return lastid; +} + #endif #if 1 // used by process_sync_info ============================================================ --- mtn_cvs/cvs_sync.hh 691da87c1325aa135a3763b60b3e16a0c3a7e99a +++ mtn_cvs/cvs_sync.hh 28c38d5e23c87d73d67c4ba51feb75bfd601786e @@ -217,6 +217,7 @@ void takeover(mtncvs_state &app, const s std::string const& branch, mtncvs_state &app); void debug(const std::string &command, const std::string &arg, mtncvs_state &app); void takeover(mtncvs_state &app, const std::string &module); +revision_id last_sync(mtncvs_state &app); void test(mtncvs_state &app); // internal use ============================================================ --- mtn_cvs/mtn_cvs.cc f669fa6b60bbe5118f922fde6f5a33abf5137515 +++ mtn_cvs/mtn_cvs.cc d44d6722cfa17b1f68dd6760c64c2e0bebb71877 @@ -156,6 +156,14 @@ CMD(test, "test", "", CMD_REF(debug), "" cvs_sync::test(myapp); } +CMD(last_sync, "last_sync", "", CMD_REF(debug), "", + N_("find last synced revision"), "", + options::opts::none) +{ + mtncvs_state &myapp=mtncvs_state::upcast(app); + std::cout << cvs_sync::last_sync(myapp) << '\n'; +} + #include using std::cout;