Author: pburba
Revision: 1035894
Modified property: svn:log

Modified: svn:log at Wed Nov 17 15:11:29 2010
------------------------------------------------------------------------------
--- svn:log (original)
+++ svn:log Wed Nov 17 15:11:29 2010
@@ -1 +1,34 @@
 Reintegrate the issue-3668-3669 branch.
+
+This fixes issue #3668 'inheritance can result in self-referential mergeinfo'
+and issue #3669 'inheritance can result in mergeinfo describing nonexistent
+sources'.
+
+The work for both of these issues was done in tandem for two reasons:
+
+  First, because they are very similar, i.e. both are variations of the
+  problem where merge tracking's simple inheritance model resulted in
+  mergeinfo that contained invalid path-revs (either self-referential or
+  simply non-existent).
+
+  Second, the fix for issue #3668, while simple, behaves badly in cases where
+  it is corrected but issue #3669 in not, see
+  http://subversion.tigris.org/issues/show_bug.cgi?id=3668#desc5
+
+The core of the issue #3669 fix is two-fold:
+
+  First, rev svn_ra_get_mergeinfo() so it can request that the server
+  validate any inherited mergeinfo it returns and second, rev
+  svn_repos_fs_get_mergeinfo() so the server can actually perform this
+  validation.
+
+Note that since an RA API was revved, a lot of the noise in this change is
+simply updating the plumbing of the various RA providers.  Any potential
+reviewers wanting to see the heart of this change should probably start here:
+
+  libsvn_fs/fs-loader.c:svn_fs_validate_mergeinfo(): Does the heavy
+  lifting of validating mergeinfo.
+
+  libsvn_client/merge.c:get_invalid_inherited_mergeinfo(): Indirectly uses
+  the new RA API to determine what portion of WC path's inherited
+  mergeinfo is invalid.

Reply via email to