author | Johan Herland <johan@herland.net> | 2010-06-09 23:09:33 (UTC) |
---|---|---|
committer | Lars Hjemli <hjemli@gmail.com> | 2010-06-19 08:40:23 (UTC) |
commit | eac1b675414722ae90df75abc727b2795bc096f0 (patch) (side-by-side diff) | |
tree | 4deb6c0ac103ab2f42750d6c7230d45366eb1732 /ui-patch.c | |
parent | ab42741c49d369e41c1e1915c6c024d79509f7d6 (diff) | |
download | cgit-eac1b675414722ae90df75abc727b2795bc096f0.zip cgit-eac1b675414722ae90df75abc727b2795bc096f0.tar.gz cgit-eac1b675414722ae90df75abc727b2795bc096f0.tar.bz2 |
ui-patch: Apply path limit to generated patch
Also indicate in the comment section of the patch that a path limit was
applied, too easily see when a generated patch is only partial.
Signed-off-by: Johan Herland <johan@herland.net>
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
-rw-r--r-- | ui-patch.c | 6 |
1 files changed, 4 insertions, 2 deletions
@@ -68,25 +68,25 @@ static void filepair_cb(struct diff_filepair *pair) print_line(fmt("-Subproject %s", sha1_to_hex(pair->one->sha1)), 52); if (S_ISGITLINK(pair->two->mode)) print_line(fmt("+Subproject %s", sha1_to_hex(pair->two->sha1)), 52); return; } if (cgit_diff_files(pair->one->sha1, pair->two->sha1, &old_size, &new_size, &binary, print_line)) html("Error running diff"); if (binary) html("Binary files differ\n"); } -void cgit_print_patch(char *hex) +void cgit_print_patch(char *hex, const char *prefix) { struct commit *commit; struct commitinfo *info; unsigned char sha1[20], old_sha1[20]; char *patchname; if (!hex) hex = ctx.qry.head; if (get_sha1(hex, sha1)) { cgit_print_error(fmt("Bad object id: %s", hex)); return; @@ -113,17 +113,19 @@ void cgit_print_patch(char *hex) htmlf(" %s", info->author_email); } html("\n"); html("Date: "); cgit_print_date(info->author_date, "%a, %d %b %Y %H:%M:%S %z%n", ctx.cfg.local_time); htmlf("Subject: %s\n\n", info->subject); if (info->msg && *info->msg) { htmlf("%s", info->msg); if (info->msg[strlen(info->msg) - 1] != '\n') html("\n"); } html("---\n"); - cgit_diff_tree(old_sha1, sha1, filepair_cb, NULL); + if (prefix) + htmlf("(limited to '%s')\n\n", prefix); + cgit_diff_tree(old_sha1, sha1, filepair_cb, prefix); html("--\n"); htmlf("cgit %s\n", CGIT_VERSION); cgit_free_commitinfo(info); } |