OpenPKG CVS Repository http://cvs.openpkg.org/ ____________________________________________________________________________
Server: cvs.openpkg.org Name: Ralf S. Engelschall Root: /v/openpkg/cvs Email: [EMAIL PROTECTED] Module: openpkg-src Date: 28-Mar-2008 08:47:07 Branch: HEAD Handle: 2008032807470500 Modified files: openpkg-src/monotone monotone.patch monotone.spec Log: apply an upstream bugfix Summary: Revision Changes Path 1.14 +48 -0 openpkg-src/monotone/monotone.patch 1.32 +1 -1 openpkg-src/monotone/monotone.spec ____________________________________________________________________________ patch -p0 <<'@@ .' Index: openpkg-src/monotone/monotone.patch ============================================================================ $ cvs diff -u -r1.13 -r1.14 monotone.patch --- openpkg-src/monotone/monotone.patch 7 Mar 2008 12:41:36 -0000 1.13 +++ openpkg-src/monotone/monotone.patch 28 Mar 2008 07:47:05 -0000 1.14 @@ -25,6 +25,8 @@ special cases related to the missing trailing newline. The complete Monotone test suite still succeeed with 0 failures after this change. +Can be removed with Monotone >= 0.40! + Index: diff_patch.cc --- diff_patch.cc e359a4c03c6ce548d6414dce11160fbcb6fcb831 +++ diff_patch.cc daeb9be7d8c10d33781b54debd541027618dbfce @@ -130,3 +132,49 @@ std::string & out, std::string const & linesep); +----------------------------------------------------------------------------- + +Fix merging in a special case. +Can be removed with Monotone >= 0.40! + +--- roster_merge.cc d565f9299ca85d77bd1d7f2a29196d7161f0ea08 ++++ roster_merge.cc d113e5d648bd98bdc15ba7a53958496ea924bd2b +@@ -525,15 +525,35 @@ roster_merge_result::report_duplicate_na + left_roster.get_name(left_nid, left_name); + right_roster.get_name(right_nid, right_name); + +- I(left_name == right_name); +- + shared_ptr<roster_t const> left_lca_roster, right_lca_roster; + revision_id left_lca_rid, right_lca_rid; + + adaptor.get_ancestral_roster(left_nid, left_lca_rid, left_lca_roster); + adaptor.get_ancestral_roster(right_nid, right_lca_rid, right_lca_roster); + +- P(F("conflict: duplicate name '%s'") % left_name); ++ // In most cases, the left_name equals the right_name. However, maybe ++ // a parent directory got renamed on one side. In that case, the names ++ // don't match, but it's still the same directory (by node id), to ++ // which we want to add the same file (by name). ++ if (left_name == right_name) ++ { ++ file_path dir; ++ path_component basename; ++ left_name.dirname_basename(dir, basename); ++ P(F("conflict: duplicate name '%s' for the directory '%s'") % basename % dir); ++ } ++ else ++ { ++ file_path left_dir, right_dir; ++ path_component left_basename, right_basename; ++ left_name.dirname_basename(left_dir, left_basename); ++ right_name.dirname_basename(right_dir, right_basename); ++ I(left_basename == right_basename); ++ P(F("conflict: duplicate name '%s' for the directory\n" ++ " named '%s' on the left and\n" ++ " named '%s' on the right.") ++ % left_basename % left_dir % right_dir); ++ } + + node_type left_type = get_type(left_roster, left_nid); + node_type right_type = get_type(right_roster, right_nid); @@ . patch -p0 <<'@@ .' Index: openpkg-src/monotone/monotone.spec ============================================================================ $ cvs diff -u -r1.31 -r1.32 monotone.spec --- openpkg-src/monotone/monotone.spec 7 Mar 2008 12:41:36 -0000 1.31 +++ openpkg-src/monotone/monotone.spec 28 Mar 2008 07:47:05 -0000 1.32 @@ -32,7 +32,7 @@ Group: SCM License: GPL Version: 0.39 -Release: 20080307 +Release: 20080328 # package options %option with_rse yes @@ . ______________________________________________________________________ OpenPKG http://openpkg.org CVS Repository Commit List openpkg-cvs@openpkg.org