[PATCH] Fix diff-pruning logic which was running prune too early.
[git.git] / diffcore-pickaxe.c
index 08d1bb7..fea62d5 100644 (file)
@@ -44,11 +44,12 @@ void diffcore_pickaxe(const char *needle)
                        if (contains(p->one, needle, len))
                                diff_q(&outq, p);
                }
-               else if (contains(p->one, needle, len) !=
+               else if (!diff_unmodified_pair(p) &&
+                        contains(p->one, needle, len) !=
                         contains(p->two, needle, len))
                        diff_q(&outq, p);
                if (onum == outq.nr)
-                       diff_free_filepair(p);
+                       free(p);
        }
        free(q->queue);
        *q = outq;