[llvm] r347113 - Make git-llvm python3 compatible again. Hopefully. :)

James Y Knight via llvm-commits llvm-commits at lists.llvm.org
Fri Nov 16 15:59:23 PST 2018


Author: jyknight
Date: Fri Nov 16 15:59:23 2018
New Revision: 347113

URL: http://llvm.org/viewvc/llvm-project?rev=347113&view=rev
Log:
Make git-llvm python3 compatible again. Hopefully. :)

Modified:
    llvm/trunk/utils/git-svn/git-llvm

Modified: llvm/trunk/utils/git-svn/git-llvm
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/git-svn/git-llvm?rev=347113&r1=347112&r2=347113&view=diff
==============================================================================
--- llvm/trunk/utils/git-svn/git-llvm (original)
+++ llvm/trunk/utils/git-svn/git-llvm Fri Nov 16 15:59:23 2018
@@ -29,6 +29,16 @@ import tempfile
 import time
 assert sys.version_info >= (2, 7)
 
+try:
+    dict.iteritems
+except AttributeError:
+    # Python 3
+    def iteritems(d):
+        return iter(d.items())
+else:
+    # Python 2
+    def iteritems(d):
+        return d.iteritems()
 
 # It's *almost* a straightforward mapping from the monorepo to svn...
 GIT_TO_SVN_DIR = {
@@ -287,7 +297,7 @@ def svn_push_one_rev(svn_repo, rev, dry_
             (rev, status))
 
     svn_dirs_to_update = set()
-    for sr, files in subrepo_files.iteritems():
+    for sr, files in iteritems(subrepo_files):
         svn_sr_path = GIT_TO_SVN_DIR[sr]
         for f in files:
             svn_dirs_to_update.update(
@@ -295,13 +305,12 @@ def svn_push_one_rev(svn_repo, rev, dry_
 
     # Sort by length to ensure that the parent directories are passed to svn
     # before child directories.
-    sorted_dirs_to_update = sorted(svn_dirs_to_update,
-                                   cmp=lambda x,y: cmp(len(x), len(y)))
+    sorted_dirs_to_update = sorted(svn_dirs_to_update, key=len)
 
     # SVN update only in the affected directories.
     svn(svn_repo, 'update', '--depth=immediates', *sorted_dirs_to_update)
 
-    for sr, files in subrepo_files.iteritems():
+    for sr, files in iteritems(subrepo_files):
         svn_sr_path = os.path.join(svn_repo, GIT_TO_SVN_DIR[sr])
         if os.name == 'nt':
             fix_eol_style_native(rev, svn_sr_path, files)




More information about the llvm-commits mailing list