OSDN Git Service

Make git-llvm python3 compatible again. Hopefully. :)
authorJames Y Knight <jyknight@google.com>
Fri, 16 Nov 2018 23:59:23 +0000 (23:59 +0000)
committerJames Y Knight <jyknight@google.com>
Fri, 16 Nov 2018 23:59:23 +0000 (23:59 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@347113 91177308-0d34-0410-b5e6-96231b3b80d8

utils/git-svn/git-llvm

index bff06d5..94927d4 100755 (executable)
@@ -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_run):
             (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_run):
 
     # 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)