Author: cmpilato
Date: Mon Jun 15 12:35:35 2020
New Revision: 1878855

URL: http://svn.apache.org/viewvc?rev=1878855&view=rev
Log:
Make the hot-backup.py script work with Python 3.

* tools/backup/hot-backup.py.in
  Use functools.cmp_to_key() for sorting conversions, and decode the
  output from svnlook.
  
Patch by: Petyovský Petr <petyovsky{_AT_}feec.vutbr.cz>

Modified:
    subversion/trunk/tools/backup/hot-backup.py.in

Modified: subversion/trunk/tools/backup/hot-backup.py.in
URL: 
http://svn.apache.org/viewvc/subversion/trunk/tools/backup/hot-backup.py.in?rev=1878855&r1=1878854&r2=1878855&view=diff
==============================================================================
--- subversion/trunk/tools/backup/hot-backup.py.in (original)
+++ subversion/trunk/tools/backup/hot-backup.py.in Mon Jun 15 12:35:35 2020
@@ -36,6 +36,7 @@
 ######################################################################
 
 import sys, os, getopt, stat, re, time, shutil, subprocess
+import functools
 
 ######################################################################
 # Global Settings
@@ -219,7 +220,7 @@ def get_youngest_revision():
     raise Exception("Unable to find the youngest revision for repository '%s'"
                     ": %s" % (repo_dir, stderr_lines[0].rstrip()))
 
-  return stdout_lines[0].strip()
+  return stdout_lines[0].strip().decode();
 
 ######################################################################
 # Main
@@ -255,7 +256,7 @@ regexp = re.compile("^" + re.escape(repo
 directory_list = os.listdir(backup_dir)
 young_list = [x for x in directory_list if regexp.search(x)]
 if young_list:
-  young_list.sort(comparator)
+  young_list.sort(key = functools.cmp_to_key(comparator))
   increment = regexp.search(young_list.pop()).groupdict()['increment']
   if increment:
     backup_subdir = os.path.join(backup_dir, repo + "-" + youngest + "-"
@@ -348,7 +349,7 @@ if num_backups > 0:
   regexp = re.compile("^" + re.escape(repo) + "-[0-9]+(-[0-9]+)?" + ext_re + 
"$")
   directory_list = os.listdir(backup_dir)
   old_list = [x for x in directory_list if regexp.search(x)]
-  old_list.sort(comparator)
+  old_list.sort(key = functools.cmp_to_key(comparator))
   del old_list[max(0,len(old_list)-num_backups):]
   for item in old_list:
     old_backup_item = os.path.join(backup_dir, item)


Reply via email to