Package: diffoscope Version: 108 Severity: wishlist Hi,
steps to reproduce: Input: two directories dirA and dirB with some sbuild build artifacts, so .changes file, .buildinfo file, .deb and .dbgsym packages. Command: diffoscope dirA/foo.deb dirB/foo.deb Expectation: diffoscope accesses dirA/foo.deb and dirB/foo.deb and recursively analyses its content to show the differences. Reality: diffoscope tries to be clever and also accesses dirA/foo.dbgsym and dirB/foo.dbgsym in addition to the explicitly specified input files in an attempt to produce more useful output. The problems are: - I assume that most people would expect that if they give two files to a "diff" command, then that command will only use these two files as input and will not implicitly add other files. - If I wanted diffoscope to also consider the .dbgsym packages, then I would've given diffoscope the .changes file and not the .deb files directly - I have a package with a 180 MB .dbgsym package. I cancelled diffoscope after it was running for over two hours. Even when I add --exclude-command=objdump, diffoscope will still take 3 minutes, because extracting two 180 MB xz-archives takes a while. Only when I copy the .deb packages elsewhere, is diffoscope done in 1.5 minutes. - This behaviour is not documented - This behaviour cannot be switched off I suggest to at least: - document this behaviour because I find it extremely unexpected for a diff program to consider other input files outside the ones that were explicitly specified - add an option to switch off this behaviour because I don't want to always have to copy my .deb packages elsewhere to achieve reasonable runtimes Though personally I would instead remove this magic completely or change the default for the following reasons: - even if it's documented, the current default behaviour is still unexpected for a diff program - if the user wants diffoscope to consider the .dbgsym packages, then they can just ask for a comparison of the .changes file instead - after it has been switched off by default, there could be a command line argument to switch this behaviour on for the users who want or need it Thanks! cheers, josch