# # patch "ChangeLog" # from [31a85aecdad1cba7e58f7cbf2c1ed4703797a4e9] # to [babd61b2ae2e5a9c88f5c77e649f65ca3ae282b5] # # patch "pcdv.cc" # from [ce879c3270c0d3b7d92a49374a2d138685807a7e] # to [68692c9fe057fd16f00fe064bfdbaa95a2ef73d0] # ======================================================================== --- ChangeLog 31a85aecdad1cba7e58f7cbf2c1ed4703797a4e9 +++ ChangeLog babd61b2ae2e5a9c88f5c77e649f65ca3ae282b5 @@ -1,5 +1,10 @@ 2005-08-18 Timothy Brownawell + * pcdv.cc (tree_state::merge_with_resolution): bugfix, multiple + items sharing the empty name is not a suture + +2005-08-18 Timothy Brownawell + PASS 'make check' * pcdv.{cc,hh}: Bugfix tree_state::merge_with_rearrangement . Improve suture-handling code. ======================================================================== --- pcdv.cc ce879c3270c0d3b7d92a49374a2d138685807a7e +++ pcdv.cc 68692c9fe057fd16f00fe064bfdbaa95a2ef73d0 @@ -1710,6 +1710,8 @@ file_path fp(merged.try_get_full_name(*x.begin(), d)); if (d >= lastlevel || d == -1) continue;// not reached, or not resolved + if (fp == file_path()) + continue; resolved.insert(j->first); fpid f(cit.intern(fp())); nir r = names.insert(make_pair(f, j->first)); @@ -1761,6 +1763,8 @@ I(j != merged.states->end()); j->second = item_status(j->second.rename(merged.itx->intern(revision), k->second, name)); + if (fp == file_path()) + continue; fpid f(cit.intern(fp())); nir r = names.insert(make_pair(f, j->first)); if (r.first->second != j->first) @@ -1778,12 +1782,13 @@ { file_path fp(merged.get_full_name(j->second)); resolved.insert(j->first); + if (fp == file_path()) + continue; fpid f(cit.intern(fp())); nir r = names.insert(make_pair(f, j->first)); if (r.first->second != j->first) { - W(F("Suturing items %1% and %2% over %3%") - % r.first->second % j->first % fp); + W(F("Suturing files %1%") % fp); merged.add_suture(r.first->second, j->first); } }