Skip to content

Add verbose and lightweight mode (auto --exclude-command, smaller --max-options values, etc.)

Comparing some files take lot of time for diffing/generating output, for example diffing many APKs on try.diffoscope.org will return:

"Timeout Sorry, it took too long to process your files. Install and run diffoscope on your system to avoid this limit."

or some other error probably due to OOM killer, on local machine comparing files take lot of time as well, thus I abort the diffoscope operation and run it again using small values for --max options to receive result faster (too see where the difference exists), such as:

diffoscope --max-page-diff-block-lines 10 --max-page-diff-block-lines 10 --max-diff-input-lines 10 --max-container-depth 10 --max-diff-block-lines-saved 10 --debug

also on every APK diffing apktool is used which will decompile all resources/dex files, which take time and sometimes not needed (the diff might be in other files) thus using zip comparator will be faster (change extension of APKs to .zip and compare or wait until #125 implemented).

So my suggestion is to add option --mode with options such as:

  • lightweight
  • verbose
  • default

when lightweight will include default list of commands to exclude (for --exclude-command) and smaller --max-options values.

default as is used now.

and verbose which may include results from redundant tools (instead of using fallback when multiple tools available for file-format, compare with all the available tools, useful for debugging and analysing malicious files which may trick one of the tools used by diffoscope to show wrong results, but they probably won't be able to avoid all tools)

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information