• Show log

    Commit

  • Hash : 4b34f687
    Author : Patrick Steinhardt
    Date : 2016-09-01T15:14:25

    patch_generate: only calculate binary diffs if requested
    
    When generating diffs for binary files, we load and decompress
    the blobs in order to generate the actual diff, which can be very
    costly. While we cannot avoid this for the case when we are
    called with the `GIT_DIFF_SHOW_BINARY` flag, we do not have to
    load the blobs in the case where this flag is not set, as the
    caller is expected to have no interest in the actual content of
    binary files.
    
    Fix the issue by only generating a binary diff when the caller is
    actually interested in the diff. As libgit2 uses heuristics to
    determine that a blob contains binary data by inspecting its size
    without loading from the ODB, this saves us quite some time when
    diffing in a repository with binary files.