Description
When using diffs option in the RSS feed, the diffs are wrong.
Its very convenient to use this http://moinmoin.wikiwikiweb.de/RecentChanges?action=rss_rc&diffs=1&unique=0 url for the RSS feed. The syntax is describe in the RSS like this:
<!-- Add an "items=nnn" URL parameter to get more than the default 15 items. You cannot get more than 100 items though. Add "unique=1" to get a list of changes where page names are unique, i.e. where only the latest change of each page is reflected. Add "diffs=1" to add change diffs to the description of each items. Add "ddiffs=1" to link directly to the diff (good for FeedReader). Current settings: items=15, unique=0, diffs=1, ddiffs=0-->
One can expect that each revision will show as an item in the feed, and each will show the change of that specific revision. Unfortunately, the diffs in the RSS feed are wrong.
Example
Compare the page diffs with the contents of the RSS feed:
Details
MoinMoin Version |
|
OS and Version |
|
Python Version |
|
Server Setup |
|
Server Details |
|
Workaround
Here's the change needed in action/rss_rc.py:
- if rev <= item.rev: + if int(rev) <= int(item.rev): - lines = wikiutil.pagediff(request, item.pagename, revisions[idx+1], item.pagename, 0, ignorews=1) + lines = wikiutil.pagediff(request, item.pagename, revisions[idx+1], item.pagename, revisions[idx], ignorews=1)
This isn't perfect, because for edits that change an attachment, we get the previous text change again. --TuukkaHastrup
Discussion
Using such feed, you can avoid many clicks and save lot of time by reading the changes in your RSS reader. One mouse click or up/down arrow is needed to inspect each revision, and there is zero wait time between clicks, because the data is already in memory on your machine. This is huge usability improvement over the web interface.
Look like the diff displayed in the feed is simply the last diff. If the feed contain few revision of a page, all of them show the last diff.
Plan
- Priority:
- Assigned to:
- Status: