# # # patch "mtn_cvs/cvs_sync.cc" # from [eee95f56d3d8f836f1271b89a1fd0e3738e0d587] # to [73541d6433db819a1308e8343979c10838f25687] # # patch "mtn_cvs/mtn_automate.cc" # from [de65dc73cdf36f85ad133dfea0606511dcd05447] # to [98558a2817ab068dde6305504ed5d32ef4af8144] # ============================================================ --- mtn_cvs/cvs_sync.cc eee95f56d3d8f836f1271b89a1fd0e3738e0d587 +++ mtn_cvs/cvs_sync.cc 73541d6433db819a1308e8343979c10838f25687 @@ -315,9 +315,12 @@ void add_missing_parents(mtn_automate::m std::vector > components; L(FL("add_missing_parents(,%s,)\n") % sp); file_path sub=sp; + do { path_component comp; - sub.dirname_basename(sub,comp); + file_path sub2=sub; + // dirname_basename cannot output to the same object + sub2.dirname_basename(sub,comp); components.push_back(std::make_pair(sub,comp)); } while (!sub.empty()); for (std::vector >::const_reverse_iterator i=components.rbegin();i!=components.rend();++i) @@ -711,12 +714,12 @@ void cvs_repository::commit_cvs2mtn(std: { revision_id parent_rid; cvs_edges_ticker.reset(0); - L(FL("commit_revisions(%s %s)\n") % time_t2human(e->time) % e->revision.inner()()); + L(FL("commit_revisions(%s %s)\n") % time_t2human(e->time) % e->revision); revision_ticker.reset(new ticker("revisions", "R", 3)); if (e!=edges.begin()) { std::set::const_iterator before=e; --before; - L(FL("found last committed %s %s\n") % time_t2human(before->time) % before->revision.inner()()); + L(FL("found last committed %s %s\n") % time_t2human(before->time) % before->revision); I(!before->revision.inner()().empty()); parent_rid=before->revision; } @@ -727,7 +730,7 @@ void cvs_repository::commit_cvs2mtn(std: mtn_automate::cset cs; I(e->delta_base.inner()().empty()); // no delta yet cvs_manifest child_manifest=get_files(*e); - L(FL("build_change_set(%s %s)\n") % time_t2human(e->time) % e->revision.inner()()); + L(FL("build_change_set(%s %s)\n") % time_t2human(e->time) % e->revision); // revision_set rev; // boost::shared_ptr cs(new cset()); mtn_automate::manifest_map oldmanifest; ============================================================ --- mtn_cvs/mtn_automate.cc de65dc73cdf36f85ad133dfea0606511dcd05447 +++ mtn_cvs/mtn_automate.cc 98558a2817ab068dde6305504ed5d32ef4af8144 @@ -431,7 +431,7 @@ parse_cset(basic_io::parser & parser, parse_path(parser, p1); parser.esym(syms::attr); parser.str(t1); - pair new_pair(p1, attr_key(decode_hexenc(t1))); + pair new_pair(p1, attr_key(t1)); // I(prev_pair.first.empty() || new_pair > prev_pair); // prev_pair = new_pair; safe_insert(cs.attrs_cleared, new_pair);