summaryrefslogtreecommitdiff
path: root/diff-lib.c
diff options
context:
space:
mode:
authorLibravatar Junio C Hamano <gitster@pobox.com>2011-08-16 11:23:25 -0700
committerLibravatar Junio C Hamano <gitster@pobox.com>2011-08-16 11:23:25 -0700
commitf253376dcbadb384d8c8af287c3f9e2271cb5ff4 (patch)
tree32382322a78e71a1552daec2d64582647e2190e1 /diff-lib.c
parentMerge branch 'jk/combine-diff-binary-etc' into maint (diff)
parentdiff-index --quiet: learn the "stop feeding the backend early" logic (diff)
downloadtgif-f253376dcbadb384d8c8af287c3f9e2271cb5ff4.tar.xz
Merge branch 'jc/diff-index-quick-exit-early' into maint
* jc/diff-index-quick-exit-early: diff-index --quiet: learn the "stop feeding the backend early" logic Conflicts: unpack-trees.h
Diffstat (limited to 'diff-lib.c')
-rw-r--r--diff-lib.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/diff-lib.c b/diff-lib.c
index 9c29293bbc..2e09500c82 100644
--- a/diff-lib.c
+++ b/diff-lib.c
@@ -433,8 +433,13 @@ static int oneway_diff(struct cache_entry **src, struct unpack_trees_options *o)
if (tree == o->df_conflict_entry)
tree = NULL;
- if (ce_path_match(idx ? idx : tree, &revs->prune_data))
+ if (ce_path_match(idx ? idx : tree, &revs->prune_data)) {
do_oneway_diff(o, idx, tree);
+ if (diff_can_quit_early(&revs->diffopt)) {
+ o->exiting_early = 1;
+ return -1;
+ }
+ }
return 0;
}