diff options
| -rw-r--r-- | ui-patch.c | 10 |
1 files changed, 8 insertions, 2 deletions
| @@ -18,9 +18,13 @@ void cgit_print_patch(const char *new_rev, const char *old_rev, | |||
| 18 | struct commit *commit; | 18 | struct commit *commit; |
| 19 | struct object_id new_rev_oid, old_rev_oid; | 19 | struct object_id new_rev_oid, old_rev_oid; |
| 20 | char rev_range[2 * 40 + 3]; | 20 | char rev_range[2 * 40 + 3]; |
| 21 | char *rev_argv[] = { NULL, "--reverse", "--format=email", rev_range }; | 21 | const char *rev_argv[] = { NULL, "--reverse", "--format=email", rev_range, "--", prefix }; |
| 22 | int rev_argc = ARRAY_SIZE(rev_argv); | ||
| 22 | char *patchname; | 23 | char *patchname; |
| 23 | 24 | ||
| 25 | if (!prefix) | ||
| 26 | rev_argc--; | ||
| 27 | |||
| 24 | if (!new_rev) | 28 | if (!new_rev) |
| 25 | new_rev = ctx.qry.head; | 29 | new_rev = ctx.qry.head; |
| 26 | 30 | ||
| @@ -79,7 +83,9 @@ void cgit_print_patch(const char *new_rev, const char *old_rev, | |||
| 79 | rev.max_parents = 1; | 83 | rev.max_parents = 1; |
| 80 | rev.diffopt.output_format |= DIFF_FORMAT_DIFFSTAT | | 84 | rev.diffopt.output_format |= DIFF_FORMAT_DIFFSTAT | |
| 81 | DIFF_FORMAT_PATCH | DIFF_FORMAT_SUMMARY; | 85 | DIFF_FORMAT_PATCH | DIFF_FORMAT_SUMMARY; |
| 82 | setup_revisions(ARRAY_SIZE(rev_argv), (const char **)rev_argv, &rev, | 86 | if (prefix) |
| 87 | rev.diffopt.stat_sep = fmt("(limited to '%s')\n\n", prefix); | ||
| 88 | setup_revisions(ARRAY_SIZE(rev_argv), rev_argv, &rev, | ||
| 83 | NULL); | 89 | NULL); |
| 84 | prepare_revision_walk(&rev); | 90 | prepare_revision_walk(&rev); |
| 85 | 91 | ||
