From 747cde4fd894b07fcfa4c865be80a5e2d362f3ae Mon Sep 17 00:00:00 2001 From: mhagger Date: Fri, 17 May 2013 10:26:14 +0000 Subject: [PATCH] verify-cvs2svn: ensure that files get closed. git-svn-id: http://cvs2svn.tigris.org/svn/cvs2svn/trunk@5426 be7e6eca-30d4-0310-a8e5-ac0d63af7087 --- contrib/verify-cvs2svn.py | 38 +++++++++++++++++++++----------------- 1 file changed, 21 insertions(+), 17 deletions(-) diff --git a/contrib/verify-cvs2svn.py b/contrib/verify-cvs2svn.py index 9d97a208..e24c07d3 100755 --- a/contrib/verify-cvs2svn.py +++ b/contrib/verify-cvs2svn.py @@ -393,23 +393,27 @@ def file_compare(failures, base1, base2, run_diff, rel_path): file1 = open(path1, 'rb') file2 = open(path2, 'rb') - while True: - data1 = file1.read(8192) - data2 = file2.read(8192) - if data1 != data2: - if run_diff: - cmd = ['diff', '-u', path1, path2] - (output, status) = pipe(cmd) - diff = output.split(os.linesep) - else: - diff = None - failures.report('File contents differ for %s' % rel_path, - details=diff) - ok = False - break - if len(data1) == 0: - # eof - break + try: + while True: + data1 = file1.read(8192) + data2 = file2.read(8192) + if data1 != data2: + if run_diff: + cmd = ['diff', '-u', path1, path2] + (output, status) = pipe(cmd) + diff = output.split(os.linesep) + else: + diff = None + failures.report('File contents differ for %s' % rel_path, + details=diff) + ok = False + break + if len(data1) == 0: + # eof + break + finally: + file1.close() + file2.close() return ok -- 2.11.4.GIT