summaryrefslogtreecommitdiff
path: root/src/diff_tform.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/diff_tform.c')
-rw-r--r--src/diff_tform.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/diff_tform.c b/src/diff_tform.c
index 8fd2a4fe9..d4b8cf30a 100644
--- a/src/diff_tform.c
+++ b/src/diff_tform.c
@@ -473,7 +473,13 @@ static int similarity_calc(
/* if lookup fails, just skip this item in similarity calc */
giterr_clear();
} else {
- size_t sz = (size_t)(git__is_sizet(file->size) ? file->size : -1);
+ size_t sz;
+
+ /* index size may not be actual blob size if filtered */
+ if (file->size != git_blob_rawsize(info->blob))
+ file->size = git_blob_rawsize(info->blob);
+
+ sz = (size_t)(git__is_sizet(file->size) ? file->size : -1);
error = opts->metric->buffer_signature(
&cache[info->idx], info->file,