summaryrefslogtreecommitdiffabout
authorJohan Herland <johan@herland.net>2010-06-09 23:09:33 (UTC)
committer Lars Hjemli <hjemli@gmail.com>2010-06-19 08:40:23 (UTC)
commiteac1b675414722ae90df75abc727b2795bc096f0 (patch) (side-by-side diff)
tree4deb6c0ac103ab2f42750d6c7230d45366eb1732
parentab42741c49d369e41c1e1915c6c024d79509f7d6 (diff)
downloadcgit-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>
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--cmd.c2
-rw-r--r--ui-commit.c2
-rw-r--r--ui-patch.c6
-rw-r--r--ui-patch.h2
-rw-r--r--ui-shared.c4
-rw-r--r--ui-shared.h2
6 files changed, 10 insertions, 8 deletions
diff --git a/cmd.c b/cmd.c
index 893ae25..605876b 100644
--- a/cmd.c
+++ b/cmd.c
@@ -91,5 +91,5 @@ static void repolist_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);
}
diff --git a/ui-commit.c b/ui-commit.c
index 2f4c6d4..b3a2063 100644
--- a/ui-commit.c
+++ b/ui-commit.c
@@ -61,5 +61,5 @@ void cgit_print_commit(char *hex, const char *prefix)
cgit_commit_link(tmp, NULL, NULL, ctx.qry.head, tmp, 0);
html(" (");
- cgit_patch_link("patch", NULL, NULL, NULL, tmp);
+ cgit_patch_link("patch", NULL, NULL, NULL, tmp, prefix);
html(") (");
if ((ctx.qry.ssdiff && !ctx.cfg.ssdiff) || (!ctx.qry.ssdiff && ctx.cfg.ssdiff))
diff --git a/ui-patch.c b/ui-patch.c
index 2a8f7a5..25dc9fe 100644
--- a/ui-patch.c
+++ b/ui-patch.c
@@ -78,5 +78,5 @@ static void filepair_cb(struct diff_filepair *pair)
}
-void cgit_print_patch(char *hex)
+void cgit_print_patch(char *hex, const char *prefix)
{
struct commit *commit;
@@ -123,5 +123,7 @@ void cgit_print_patch(char *hex)
}
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);
diff --git a/ui-patch.h b/ui-patch.h
index 9f68212..1641cea 100644
--- a/ui-patch.h
+++ b/ui-patch.h
@@ -2,5 +2,5 @@
#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 */
diff --git a/ui-shared.c b/ui-shared.c
index 4fa506f..d5c4c10 100644
--- a/ui-shared.c
+++ b/ui-shared.c
@@ -389,7 +389,7 @@ 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,
- 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);
}
diff --git a/ui-shared.h b/ui-shared.h
index 3df5464..c0e5c55 100644
--- a/ui-shared.h
+++ b/ui-shared.h
@@ -33,5 +33,5 @@ extern void cgit_commit_link(char *name, const char *title,
extern void cgit_patch_link(const char *name, const char *title,
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,
const char *class, const char *head,