- 04 Mar, 2019 1 commit
-
-
Arkadiusz Hiler authored
If navigating to a patch from a series/revision view a ?series=x&rev=y are appended to the URL. This is later used on the patch view to determine whether browsing this patch from the series view. If that's the case new navigation options to go to next and previous patches in series are available. Closes #13Signed-off-by:
Arkadiusz Hiler <arkadiusz.hiler@intel.com>
-
- 28 Feb, 2019 4 commits
-
-
Arkadiusz Hiler authored
Complementary to /mbox/ and /mbox_with_cover/. Signed-off-by:
Arkadiusz Hiler <arkadiusz.hiler@intel.com>
-
Arkadiusz Hiler authored
Add id to comment divs and turn the dates into a hrefs those anchors. Signed-off-by:
Arkadiusz Hiler <arkadiusz.hiler@intel.com>
-
Arkadiusz Hiler authored
When a comment containing a diff is sent to the mailing list is has the diff extracted out and we save just the comment body above the patch. Let's fix that by using payload instead of commentbuf. We still strip signatures and mailing list footers there. NOTE: we still use commentbuf for splitting an actual patch into the diff and the patch's comment. Signed-off-by:
Arkadiusz Hiler <arkadiusz.hiler@intel.com>
-
Arkadiusz Hiler authored
Currently each time there is a comment with a duplicate msg-id, ADMINS get an email with an exception. Let's be more graceful and just debug log it. Signed-off-by:
Arkadiusz Hiler <arkadiusz.hiler@intel.com>
-
- 13 Feb, 2019 6 commits
-
-
Arkadiusz Hiler authored
FDO started respecting DMARC, which means it cannot freely resend emails without rewriting 'From:' header in some cases. So this: From: Author <original@mail> Changes to: From: Author via listname <listid@lists.freedesktop.org> Reply-To: Author <original@mail> Let's recognize that and unmangle it for authorship and mbox purposes. Signed-off-by:
Arkadiusz Hiler <arkadiusz.hiler@intel.com>
-
Arkadiusz Hiler authored
Signed-off-by:
Arkadiusz Hiler <arkadiusz.hiler@intel.com>
-
Arkadiusz Hiler authored
Signed-off-by:
Arkadiusz Hiler <arkadiusz.hiler@intel.com>
-
Arkadiusz Hiler authored
... and clarify descriptions of the other options. Signed-off-by:
Arkadiusz Hiler <arkadiusz.hiler@intel.com>
-
Arkadiusz Hiler authored
Let's assume mail structure with replies like this: [1/2] Patch 1 |- [2/2] Patch 2 |- [2/2] Another Patch 2 When the "Another Patch 2" comes in, it's going to get inserted in the same revision at the same place as the original "Patch 2", which results in integrity error. This is the single most common reason for administration notifications. There is not really much we can do, as the reasons for such emails are so ambiguous that the best we can do is to discard them, just like we are doing now. So let's make it silent. Signed-off-by:
Arkadiusz Hiler <arkadiusz.hiler@intel.com>
-
Arkadiusz Hiler authored
Couple of small issues like old syntax for print with stderr and comparing numbers using "is" instead of "==". Signed-off-by:
Arkadiusz Hiler <arkadiusz.hiler@intel.com>
-
- 28 Jan, 2019 1 commit
-
-
Arkadiusz Hiler authored
So the patchwork stands out a little bit more among all the opened tabs. Signed-off-by:
Arkadiusz Hiler <arkadiusz.hiler@intel.com>
-
- 25 Jan, 2019 2 commits
-
-
Arkadiusz Hiler authored
Due to complex handling of incoming series all the new cover letters were not used. parsemail creates new, transient revision that is later discarded. Everything that should get persistent in the proper revision has to be copied over explicitly in on_revision_complete signal handler. So let's do that for all the cover_letter fields, but only if they are present. Signed-off-by:
Arkadiusz Hiler <arkadiusz.hiler@intel.com>
-
Arkadiusz Hiler authored
If cover letter looked like a patch (i.e. had the diff markers) it was parsed as such, resulting in the diff being extracted out from the contents and stored as oddly numbered patch 0. Let's store the raw payload and do not create patches out of cover letters. This is now tested by adding some diff excerpt to one of the test fixtures and adjusting the asserts on cover_letter and raw_cover_letter accordingly. Signed-off-by:
Arkadiusz Hiler <arkadiusz.hiler@intel.com>
-
- 07 Jan, 2019 6 commits
-
-
Arkadiusz Hiler authored
To not waste time on reinstalling all the deps each time Signed-off-by:
Arkadiusz Hiler <arkadiusz.hiler@intel.com>
-
Arkadiusz Hiler authored
Parallelize runs, use in-memory sqlite3 and turn off unnecessary debugging/logging. Signed-off-by:
Arkadiusz Hiler <arkadiusz.hiler@intel.com>
-
Arkadiusz Hiler authored
We were testing for that, but yet we haven't expressed it in the code, relying on the default behavior of the database. This broke sqlite compatibility. Signed-off-by:
Arkadiusz Hiler <arkadiusz.hiler@intel.com>
-
Arkadiusz Hiler authored
Project and Person instances were stored globally, keeping their PK(s) even when db cleaning removed them, causing some saves() to overwrite them when used with sqlite3. Signed-off-by:
Arkadiusz Hiler <arkadiusz.hiler@intel.com>
-
Arkadiusz Hiler authored
They don't affect passing on any of the 3 major databases in multiple runs, so it seems that the issues that the sleeps waere trying to mitigate (ordering) was fixed elsewhere. Signed-off-by:
Arkadiusz Hiler <arkadiusz.hiler@intel.com>
-
Arkadiusz Hiler authored
Be more explicit about how we sort when resolving project and don't discriminate different ways of sorting empty string vs blank chars. Signed-off-by:
Arkadiusz Hiler <arkadiusz.hiler@intel.com>
-
- 04 Jan, 2019 1 commit
-
-
Arkadiusz Hiler authored
* Use django-rest-framework views for nice browser previews * Add pretended pagination for consistency with other list endpoints * Extra: remove accidental print Signed-off-by:
Arkadiusz Hiler <arkadiusz.hiler@intel.com>
-
- 03 Jan, 2019 2 commits
-
-
Arkadiusz Hiler authored
The only difference in comparison to patch is a lack of patch_id in the results. Signed-off-by:
Arkadiusz Hiler <arkadiusz.hiler@intel.com>
-
Arkadiusz Hiler authored
Cover letter is also a part of revision "metadata". Coping it over makes the overall experience better - all the meta tags included in the cover are preserved and user can see it on revisions caused by a rerun or a single patch bump. The difference between duplicate_meta and duplicate is that duplicate also copies over patches, this may need a better naming. Signed-off-by:
Arkadiusz Hiler <arkadiusz.hiler@intel.com>
-
- 02 Jan, 2019 2 commits
-
-
Arkadiusz Hiler authored
`/api/1.0/series/$series_id/revisions/$version/mbox_with_cover/` has been added. Signed-off-by:
Arkadiusz Hiler <arkadiusz.hiler@intel.com>
-
Arkadiusz Hiler authored
We are now storing unprocessed cover letter and it's headers and exposing it through the API. Signed-off-by:
Arkadiusz Hiler <arkadiusz.hiler@intel.com>
-
- 17 Dec, 2018 1 commit
-
-
Arkadiusz Hiler authored
With this change hash part of the URL is updated when clicking on a revision to show. Also providing hash in the URL will navigate straight to that revision (e.g. /series/1234/#rev3). Signed-off-by:
Arkadiusz Hiler <arkadiusz.hiler@intel.com>
-
- 10 Dec, 2018 1 commit
-
-
Arkadiusz Hiler authored
Simply reload page on rerun, so the newly created revision is visible and all the dates are updated. Signed-off-by:
Arkadiusz Hiler <arkadiusz.hiler@intel.com>
-
- 07 Dec, 2018 3 commits
-
-
Arkadiusz Hiler authored
the endpoint is: /api/1.0/msgids/$MSG_ID/ msg-id works both with and without <> output: [{'patch_id': 112223, 'project_id': 9, 'series_id': 12938, 'revisions': [1,2]}, {'patch_id': 112224, 'project_id': 18, 'series_id': 12937, 'revisions': [1]}] The implementation is not using django-rest-framework because the generated routes disallow dots in the identifiers and requires adding much more boilerplate to have it working. Signed-off-by:
Arkadiusz Hiler <arkadiusz.hiler@intel.com>
-
Arkadiusz Hiler authored
Mail object append headers, so to overwrite them correctly we have to delete the original one first. Also fix a chicken and egg problem spotted by this fix. Signed-off-by:
Arkadiusz Hiler <arkadiusz.hiler@intel.com>
-
Arkadiusz Hiler authored
The regexp breaks with patch series having more that 9 patches, because '*' was a greedy qualifier, eating up every but the last digit of the patch number. I have forgot to commit the extra '?' which makes it non-greedy, making the whole thing behave as expected. Signed-off-by:
Arkadiusz Hiler <arkadiusz.hiler@intel.com>
-
- 05 Dec, 2018 1 commit
-
-
Arkadiusz Hiler authored
Not only it was unused but also used for something else than the name has indicated. Signed-off-by:
Arkadiusz Hiler <arkadiusz.hiler@intel.com>
-
- 28 Nov, 2018 3 commits
-
-
Arkadiusz Hiler authored
For simple [PATCH xx/yy] we store just [xx/yy] but for more complex [PATCH extra xx/yy] it becomes [extra, xx/yy]. Let's fix the regexp used for extracting patch numbers, so that extra tags do not make revision strange. Signed-off-by:
Arkadiusz Hiler <arkadiusz.hiler@intel.com>
-
Arkadiusz Hiler authored
Signed-off-by:
Arkadiusz Hiler <arkadiusz.hiler@intel.com>
-
Arkadiusz Hiler authored
Include information that series is not complete (i.e. we have received less patches than expected, basing on the [xx/yy] tag) and that series looks "strange" (i.e. ordering may is off or we have got too many patches). Changes in logic: If we get more patches than expected, *do not* reset status to incomplete series, we've got the event for queued already anyway. Just consider it "strange". Also, let's include information which revision we are rerunning on the rerun button. Signed-off-by:
Arkadiusz Hiler <arkadiusz.hiler@intel.com>
-
- 27 Nov, 2018 3 commits
-
-
Arkadiusz Hiler authored
Signed-off-by:
Arkadiusz Hiler <arkadiusz.hiler@intel.com>
-
Arkadiusz Hiler authored
Up until this patch, rerunning was just creating a 'newrevision' event for the existing revision, effectively queuing it again. Any incoming results would overwrite the existing ones. Now, whenever rerun is hit, the last revision will be duplicated (no results overwriting!), bumping "Last Update" time for the series. We also mark such series as a rerun so we will be able to display it for the users / expose it in the API. Signed-off-by:
Arkadiusz Hiler <arkadiusz.hiler@intel.com>
-
Arkadiusz Hiler authored
A lot of minor changes. W504 is getting ignored, as we break the line after the binary operator throughout the code base (alternative would be W503 - break before the operator). Signed-off-by:
Arkadiusz Hiler <arkadiusz.hiler@intel.com>
-
- 24 Nov, 2018 1 commit
-
-
Andrei Vagin authored
patchwork returns a following back-trace without this patch: Internal Server Error: /patch/858/ Traceback (most recent call last): File "/usr/lib/python2.7/site-packages/django/core/handlers/base.py", line 132, in get_response response = wrapped_callback(request, *callback_args, **callback_kwargs) File "/srv/patchwork/lib/apache2/../../patchwork/views/patch.py", line 34, in patch editable = Can(request.user).edit(patch) File "/srv/patchwork/lib/apache2/../../patchwork/permissions.py", line 38, in edit can.edit(patch.project))) File "/srv/patchwork/lib/apache2/../../patchwork/permissions.py", line 32, in edit project in self.user.profile.maintainer_projects.all()) File "/usr/lib/python2.7/site-packages/django/utils/functional.py", line 226, in inner return func(self._wrapped, *args) AttributeError: 'AnonymousUser' object has no attribute 'profile' Fixes: e876b068 ("permissions: Introduce central point for defining permissions")
-
- 18 Jun, 2018 1 commit
-
-
Arkadiusz Hiler authored
Signed-off-by:
Arkadiusz Hiler <arkadiusz.hiler@intel.com>
-
- 15 Jun, 2018 1 commit
-
-
Arkadiusz Hiler authored
Signed-off-by:
Arkadiusz Hiler <arkadiusz.hiler@intel.com>
-