subversion-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From pbu...@apache.org
Subject svn commit: r1127352 - /subversion/trunk/subversion/libsvn_client/diff.c
Date Wed, 25 May 2011 01:09:45 GMT
Author: pburba
Date: Wed May 25 01:09:45 2011
New Revision: 1127352

URL: http://svn.apache.org/viewvc?rev=1127352&view=rev
Log:
A partial fix for issue #3896 'mergeinfo syntax errors should be treated
gracefully': Allow diff of bogus mergeinfo.

* subversion/libsvn_client/diff.c
  (display_prop_diffs):  If we can't pretty-print mergeinfo differences
   because invalid mergeinfo is present, then don't let the diff
   fail, just print the diff as any other property.

Modified:
    subversion/trunk/subversion/libsvn_client/diff.c

Modified: subversion/trunk/subversion/libsvn_client/diff.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_client/diff.c?rev=1127352&r1=1127351&r2=1127352&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_client/diff.c (original)
+++ subversion/trunk/subversion/libsvn_client/diff.c Wed May 25 01:09:45 2011
@@ -659,10 +659,21 @@ display_prop_diffs(const apr_array_heade
         {
           const char *orig = original_value ? original_value->data : NULL;
           const char *val = propchange->value ? propchange->value->data : NULL;
+          svn_error_t *err = display_mergeinfo_diff(orig, val, encoding,
+                                                    file, pool);
 
-          SVN_ERR(display_mergeinfo_diff(orig, val, encoding, file, pool));
-
-          continue;
+          /* Issue #3896: If we can't pretty-print mergeinfo differences
+             because invalid mergeinfo is present, then don't let the diff
+             fail, just print the diff as any other property. */
+          if (err && err->apr_err == SVN_ERR_MERGEINFO_PARSE_ERROR)
+            {
+              svn_error_clear(err);
+            }
+          else
+            {
+              SVN_ERR(err);
+              continue;
+            }
         }
 
       {



Mime
View raw message