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>
Dieser Commit ist enthalten in:
Ursprung
ab42741c49
Commit
eac1b67541
2
cmd.c
2
cmd.c
@ -90,7 +90,7 @@ static void repolist_fn(struct cgit_context *ctx)
|
|||||||
|
|
||||||
static void patch_fn(struct cgit_context *ctx)
|
static void patch_fn(struct cgit_context *ctx)
|
||||||
{
|
{
|
||||||
cgit_print_patch(ctx->qry.sha1);
|
cgit_print_patch(ctx->qry.sha1, ctx->qry.path);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void plain_fn(struct cgit_context *ctx)
|
static void plain_fn(struct cgit_context *ctx)
|
||||||
|
@ -60,7 +60,7 @@ void cgit_print_commit(char *hex, const char *prefix)
|
|||||||
tmp = sha1_to_hex(commit->object.sha1);
|
tmp = sha1_to_hex(commit->object.sha1);
|
||||||
cgit_commit_link(tmp, NULL, NULL, ctx.qry.head, tmp, 0);
|
cgit_commit_link(tmp, NULL, NULL, ctx.qry.head, tmp, 0);
|
||||||
html(" (");
|
html(" (");
|
||||||
cgit_patch_link("patch", NULL, NULL, NULL, tmp);
|
cgit_patch_link("patch", NULL, NULL, NULL, tmp, prefix);
|
||||||
html(") (");
|
html(") (");
|
||||||
if ((ctx.qry.ssdiff && !ctx.cfg.ssdiff) || (!ctx.qry.ssdiff && ctx.cfg.ssdiff))
|
if ((ctx.qry.ssdiff && !ctx.cfg.ssdiff) || (!ctx.qry.ssdiff && ctx.cfg.ssdiff))
|
||||||
cgit_commit_link("unidiff", NULL, NULL, ctx.qry.head, tmp, 1);
|
cgit_commit_link("unidiff", NULL, NULL, ctx.qry.head, tmp, 1);
|
||||||
|
@ -77,7 +77,7 @@ static void filepair_cb(struct diff_filepair *pair)
|
|||||||
html("Binary files differ\n");
|
html("Binary files differ\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
void cgit_print_patch(char *hex)
|
void cgit_print_patch(char *hex, const char *prefix)
|
||||||
{
|
{
|
||||||
struct commit *commit;
|
struct commit *commit;
|
||||||
struct commitinfo *info;
|
struct commitinfo *info;
|
||||||
@ -122,7 +122,9 @@ void cgit_print_patch(char *hex)
|
|||||||
html("\n");
|
html("\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");
|
html("--\n");
|
||||||
htmlf("cgit %s\n", CGIT_VERSION);
|
htmlf("cgit %s\n", CGIT_VERSION);
|
||||||
cgit_free_commitinfo(info);
|
cgit_free_commitinfo(info);
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
#ifndef UI_PATCH_H
|
#ifndef UI_PATCH_H
|
||||||
#define UI_PATCH_H
|
#define UI_PATCH_H
|
||||||
|
|
||||||
extern void cgit_print_patch(char *hex);
|
extern void cgit_print_patch(char *hex, const char *prefix);
|
||||||
|
|
||||||
#endif /* UI_PATCH_H */
|
#endif /* UI_PATCH_H */
|
||||||
|
@ -388,9 +388,9 @@ void cgit_diff_link(const char *name, const char *title, const char *class,
|
|||||||
}
|
}
|
||||||
|
|
||||||
void cgit_patch_link(const char *name, const char *title, const char *class,
|
void cgit_patch_link(const char *name, const char *title, const char *class,
|
||||||
const char *head, const char *rev)
|
const char *head, const char *rev, const char *path)
|
||||||
{
|
{
|
||||||
reporevlink("patch", name, title, class, head, rev, NULL);
|
reporevlink("patch", name, title, class, head, rev, path);
|
||||||
}
|
}
|
||||||
|
|
||||||
void cgit_stats_link(const char *name, const char *title, const char *class,
|
void cgit_stats_link(const char *name, const char *title, const char *class,
|
||||||
|
@ -32,7 +32,7 @@ extern void cgit_commit_link(char *name, const char *title,
|
|||||||
const char *rev, int toggle_ssdiff);
|
const char *rev, int toggle_ssdiff);
|
||||||
extern void cgit_patch_link(const char *name, const char *title,
|
extern void cgit_patch_link(const char *name, const char *title,
|
||||||
const char *class, const char *head,
|
const char *class, const char *head,
|
||||||
const char *rev);
|
const char *rev, const char *path);
|
||||||
extern void cgit_refs_link(const char *name, const char *title,
|
extern void cgit_refs_link(const char *name, const char *title,
|
||||||
const char *class, const char *head,
|
const char *class, const char *head,
|
||||||
const char *rev, const char *path);
|
const char *rev, const char *path);
|
||||||
|
Laden…
In neuem Issue referenzieren
Einen Benutzer sperren