Skip to content

Commit

Permalink
Merge branch 'y5/diff-pager' into seen
Browse files Browse the repository at this point in the history
Delay setting up the pager in 'git diff' until after the diff contents
itself is fully prepared.

Will discard?

* y5/diff-pager:
  diff: setup pager only before diff contents truly ready
  • Loading branch information
gitster committed Dec 11, 2024
2 parents 0952d32 + d461aea commit 66a4f7f
Showing 1 changed file with 6 additions and 2 deletions.
8 changes: 6 additions & 2 deletions builtin/diff.c
Original file line number Diff line number Diff line change
Expand Up @@ -108,6 +108,7 @@ static void builtin_diff_b_f(struct rev_info *revs,
1, 0,
blob[0]->path ? blob[0]->path : path,
path);
setup_diff_pager(&revs->diffopt);
diffcore_std(&revs->diffopt);
diff_flush(&revs->diffopt);
}
Expand All @@ -132,6 +133,7 @@ static void builtin_diff_blobs(struct rev_info *revs,
&blob[0]->item->oid, &blob[1]->item->oid,
1, 1,
blob_path(blob[0]), blob_path(blob[1]));
setup_diff_pager(&revs->diffopt);
diffcore_std(&revs->diffopt);
diff_flush(&revs->diffopt);
}
Expand Down Expand Up @@ -167,6 +169,7 @@ static void builtin_diff_index(struct rev_info *revs,
} else if (repo_read_index(the_repository) < 0) {
die_errno("repo_read_cache");
}
setup_diff_pager(&revs->diffopt);
run_diff_index(revs, option);
}

Expand Down Expand Up @@ -204,6 +207,7 @@ static void builtin_diff_tree(struct rev_info *revs,
oid[swap] = &ent0->item->oid;
oid[1 - swap] = &ent1->item->oid;
}
setup_diff_pager(&revs->diffopt);
diff_tree_oid(oid[0], oid[1], "", &revs->diffopt);
log_tree_diff_flush(revs);
}
Expand All @@ -230,6 +234,7 @@ static void builtin_diff_combined(struct rev_info *revs,
if (i != first_non_parent)
oid_array_append(&parents, &ent[i].item->oid);
}
setup_diff_pager(&revs->diffopt);
diff_tree_combined(&ent[first_non_parent].item->oid, &parents, revs);
oid_array_clear(&parents);
}
Expand Down Expand Up @@ -286,6 +291,7 @@ static void builtin_diff_files(struct rev_info *revs, int argc, const char **arg
0) < 0) {
die_errno("repo_read_index_preload");
}
setup_diff_pager(&revs->diffopt);
run_diff_files(revs, options);
}

Expand Down Expand Up @@ -526,8 +532,6 @@ int cmd_diff(int argc,
rev.diffopt.flags.recursive = 1;
rev.diffopt.rotate_to_strict = 1;

setup_diff_pager(&rev.diffopt);

/*
* Do we have --cached and not have a pending object, then
* default to HEAD by hand. Eek.
Expand Down

0 comments on commit 66a4f7f

Please sign in to comment.