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)