Updated: Comment #0
Problem/Motivation
If the Diff module executes after the Revisioning module, then Diff wreaks havoc with the menu router causing access denied errors when trying to access node revisions. Currently, both Diff and Revisioning have a wight of 0, so they are executed according to the alphabetical order of their file paths.
Admittedly this is not always a problem, since 'd' comes before 'r'. However, that is an unreliable solution. For instance, if Revisioning were included in an installation profile, but Diff was added in the sites directory, then you would trigger the error since "profiles" comes before "sites". Likewise if you have a multi-site setup with Revisioning in sites/all/ and Diff in sites/mydomain.com/. Or if you patch Diff and move it to sites/all/patched/, which would then execute after anything in sites/all/contrib/. All of these are potential real-world use cases.
Proposed resolution
Either the menu functions in Diff need to be updated so they don't conflict with Revisioning, or the weight of Diff in the system table needs to be changed to -1, so it will always execute before Revisioning.
Note that it is not possible to increase Revisioning's weight, as that would cause a conflict with the Workflow module and they are often used together.
Remaining tasks
Decide on preferred solution and implement it.
User interface changes
None.
API changes
None.
Comments
Comment #1
alan d. commentedIn Revisioning 7.x, weight is set to 6 on install, but no corresponding action is found in D6. So forward porting is a "won't fix", but maybe for 6.x.
Note. I'm nearly tempted just to add to the read me. The number of D 6.x installs is falling, nearly halving in the last couple years, so the number of sites that are potentially going to be exposed is small.
Either way patches welcome.
Comment #2
alan d. commentedClosed because Drupal 6 is no longer supported. If the issue verifiably applies to later versions, please reopen with details and update the version.