You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by da...@apache.org on 2016/03/16 03:57:40 UTC

svn commit: r1735179 - /subversion/trunk/build/generator/gen_base.py

Author: danielsh
Date: Wed Mar 16 02:57:40 2016
New Revision: 1735179

URL: http://svn.apache.org/viewvc?rev=1735179&view=rev
Log:
build system: Improve svn_error_symbolic_name()'s data gatherer.

* build/generator/gen_base.py
  (GeneratorBase.write_struct):
     Improve the "conflicting mappings" check.
     Clarify the warning message.

Found by: subhadarsan das <su...@yahoo.co.in>
(he ran into the unclear error message)

Modified:
    subversion/trunk/build/generator/gen_base.py

Modified: subversion/trunk/build/generator/gen_base.py
URL: http://svn.apache.org/viewvc/subversion/trunk/build/generator/gen_base.py?rev=1735179&r1=1735178&r2=1735179&view=diff
==============================================================================
--- subversion/trunk/build/generator/gen_base.py (original)
+++ subversion/trunk/build/generator/gen_base.py Wed Mar 16 02:57:40 2016
@@ -308,11 +308,17 @@ class GeneratorBase:
       key, _, val = line.split()
       aprerr += [(int(val), key)]
     write_struct('svn__apr_errno', aprerr)
+    aprdict = dict(aprerr)
+    del aprerr
 
     ## sanity check
-    intersection = set(errno.errorcode.keys()) & set(dict(aprerr).keys())
+    intersection = set(errno.errorcode.keys()) & set(aprdict.keys())
+    intersection = filter(lambda x: errno.errorcode[x] != aprdict[x],
+                          intersection)
     if self.errno_filter(intersection):
-        print("WARNING: errno intersects APR error codes: %r" % intersection)
+        print("WARNING: errno intersects APR error codes; "
+              "runtime computation of symbolic error names for the following numeric codes might be wrong: "
+              "%r" % (intersection,))
 
     self.write_file_if_changed('subversion/libsvn_subr/errorcode.inc',
                                '\n'.join(lines))