diff options
Diffstat (limited to '')
-rw-r--r--source/ui-diff.c4
-rw-r--r--source/ui-patch.c4
2 files changed, 8 insertions, 0 deletions
diff --git a/source/ui-diff.c b/source/ui-diff.c
index f133a9c..2da44c4 100644
--- a/source/ui-diff.c
+++ b/source/ui-diff.c
@@ -540,6 +540,10 @@ static void print_raw_patch(const struct object_id *old_tree_oid, const struct o
{
struct diff_options diffopt;
+ // As on the patch page, a blob past max-blob-size is shown as binary
+ // rather than inflated.
+ if (ctx.cfg.max_blob_size)
+ repo_settings_set_big_file_threshold(the_repository, (unsigned long)ctx.cfg.max_blob_size * 1024);
repo_diff_setup(the_repository, &diffopt);
diffopt.output_format = DIFF_FORMAT_PATCH;
diffopt.flags.recursive = 1;
diff --git a/source/ui-patch.c b/source/ui-patch.c
index 7191542..525e660 100644
--- a/source/ui-patch.c
+++ b/source/ui-patch.c
@@ -97,6 +97,10 @@ void cgit_print_patch(const char *new_rev, const char *old_rev, const char *pref
"From: %an%nDate: %aD%n%w(78,0,1)Subject: %s%n%n%w(0)%b";
}
+ // Git inlines a blob up to its own big-file threshold, far past what
+ // any other view inflates, so max-blob-size is applied through it.
+ if (ctx.cfg.max_blob_size)
+ repo_settings_set_big_file_threshold(the_repository, (unsigned long)ctx.cfg.max_blob_size * 1024);
repo_init_revisions(the_repository, &rev, NULL);
rev.abbrev = DEFAULT_ABBREV;
rev.verbose_header = 1;