# # patch "cvs_repository.cc" # from [c341f1a00f649770dae83565671ffd220577a760] # to [e6ff097b596516f574986b38fe9721a3a6e82207] # # patch "cvs_sync.hh" # from [b8f88462b636a87da0c4e13741c8317cac2058d4] # to [c398b9d26609003d89ca14386eb0b9918ba17641] # --- cvs_repository.cc +++ cvs_repository.cc @@ -996,7 +996,7 @@ #endif std::set::iterator cvs_repository::commit( - std::set::iterator parent, const revision_id &rid) + std::set::iterator parent, const revision_id &rid, bool &fail) { // check that it's the last one L(F("commit %s -> %s\n") % parent->revision % rid); { std::set::iterator test=parent; @@ -1087,7 +1087,7 @@ I(!commits.empty()); std::map > result =Commit(e.changelog,e.time,commits); - if (result.empty()) return edges.end(); + if (result.empty()) { fail=true; return edges.end(); } e.delta_base=parent->revision; @@ -1114,9 +1114,11 @@ cert_cvs(e, dbw); revision_lookup[e.revision]=edges.insert(e).first; if (global_sanity.debug) L(F("%s") % debug()); + fail=false; return --(edges.end()); } W(F("no matching parent found\n")); + fail=true; return edges.end(); } @@ -1154,9 +1156,11 @@ } return; } - now_iter=commit(now_iter,*children.begin()); + bool fail=bool(); + now_iter=commit(now_iter,*children.begin(),fail); - P(F("checked %s into cvs repository") % now.revision); + if (!fail) + P(F("checked %s into cvs repository") % now.revision); // we'd better seperate the commits so that ordering them is possible if (now_iter!=edges.end()) sleep(2); } --- cvs_sync.hh +++ cvs_sync.hh @@ -142,7 +142,7 @@ void join_edge_parts(std::set::iterator i); std::set::iterator last_known_revision(); std::set::iterator commit( - std::set::iterator parent, const revision_id &rid); + std::set::iterator parent, const revision_id &rid, bool &fail); const cvs_manifest &get_files(const cvs_edge &e); public: // semi public interface for push/pull