Diff options
Diffstat (limited to 'source/ui-diff.c')
| -rw-r--r-- | source/ui-diff.c | 11 |
1 file changed, 9 insertions, 2 deletions
diff --git a/source/ui-diff.c b/source/ui-diff.c index 315a8f0..0e2e75e 100644 --- a/source/ui-diff.c +++ b/source/ui-diff.c @@ -510,8 +510,15 @@ static void print_raw_patch(const struct object_id *old_tree_oid, const struct o repo_diff_setup(the_repository, &diffopt); diffopt.output_format = DIFF_FORMAT_PATCH; diffopt.flags.recursive = 1; - if (prefix) - cgit_diff_limit_path(&diffopt, prefix); + if (prefix) { + char *source = cgit_rename_source(old_tree_oid, new_tree_oid, prefix); + + if (source) + cgit_diff_limit_rename(&diffopt, prefix, source); + else + cgit_diff_limit_path(&diffopt, prefix); + free(source); + } diff_setup_done(&diffopt); ctx.page.mimetype = "text/plain"; |
