[diffoscope] 01/05: comparators: utils: compare: fixes comparison between container types

Juliana Oliveira R jwnx-guest at moszumanska.debian.org
Sat Sep 16 17:43:11 CEST 2017


This is an automated email from the git hooks/post-receive script.

jwnx-guest pushed a commit to branch jwnx_fix_different_container_type_comparison
in repository diffoscope.

commit f5aa4b9d5075dbbc935969c5841dcfaf2a957b20
Author: Juliana Oliveira Rodrigues <juliana.orod at gmail.com>
Date:   Sun Sep 10 00:36:52 2017 -0300

    comparators: utils: compare: fixes comparison between container types
    
    This patch solves comparison between different container types not
    comparing inside files. It was caused by falling back to binary
    comparison for different file types even for unextracted containers.
    
    Adding a container check before falling back to binary comparison
    ensures container extraction before file comparison, fixing the
    problem.
---
 diffoscope/comparators/utils/compare.py | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/diffoscope/comparators/utils/compare.py b/diffoscope/comparators/utils/compare.py
index a22007c..25b92e9 100644
--- a/diffoscope/comparators/utils/compare.py
+++ b/diffoscope/comparators/utils/compare.py
@@ -91,7 +91,8 @@ def compare_files(file1, file2, source=None, diff_content_only=False):
         file1.other_file = file2
     elif isinstance(file2, MissingFile):
         file2.other_file = file1
-    elif file1.__class__.__name__ != file2.__class__.__name__:
+    elif ((file1.__class__.__name__ != file2.__class__.__name__) and
+          (file1.as_container is None or file2.as_container is None)):
         return file1.compare_bytes(file2, source)
     with profile('compare_files (cumulative)', file1):
         return file1.compare(file2, source)

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/reproducible/diffoscope.git


More information about the diffoscope mailing list