path: root/docs
diff options
authorJeremy Kerr <>2015-05-27 09:56:36 +0800
committerJeremy Kerr <>2015-05-28 09:05:45 +0800
commit3b8a61c68fa61eadebf7b19329e8d3bffde9e6b4 (patch)
tree88f53364498523371c2bd1fc33b2e0dbbbb41372 /docs
parentdaa3ae42eee5e569881070bcc2958b361743f70a (diff)
Add patch tag infrastructure
This change add patch 'tags', eg 'Acked-by' / 'Reviewed-by', etc., to patchwork. Tag parsing is implemented in the patch parser's extract_tags function, which returns a Counter object of the tags in a comment. These are stored in the PatchTag (keyed to Tag) objects associated with each patch. We need to ensure that the main patch lists do not cause per-patch queries on the Patch.tags ManyToManyField (this would result in ~500 queries per page), so we introduce a new QuerySet (and Manager) for Patch, adding a with_tag_counts() method to populate the tag counts in a single query. As users may be migrating from previous patchwork versions (ie, with no tag counts in the database), we add a 'retag' management command. Signed-off-by: Jeremy Kerr <>
Diffstat (limited to 'docs')
1 files changed, 6 insertions, 1 deletions
diff --git a/docs/INSTALL b/docs/INSTALL
index cb0eccf..9630ad7 100644
--- a/docs/INSTALL
+++ b/docs/INSTALL
@@ -148,7 +148,12 @@ in brackets):
PYTHONPATH=lib/python ./ collectstatic
- and add privileges for your mail and web users. This is only needed if
+ If you'd like to use the default tag set (Acked-by, Reviewed-by and
+ Tested-by), then load these default tags:
+ PYTHONPATH=lib/python ./ loaddata default_tags
+ Finally, add privileges for your mail and web users. This is only needed if
you use the ident-based approach. If you use password-based database
authentication, you can skip this step.