Version control backends promoted to first-class plugins
fixups
wrapper setup reorg Flattened the wrapper setup, as this lets it be handled better by the setup generation code.
tla done too
add rcs_commit_staged and rcs_rename Implemented for git and svn so far. Note that rcs_commit_staged does assume that the rcs has the ability to "stage" multiple changes for a later commit. Support for this varies, but all we really care about is staging removals and renames, which, AFAIK, all modern rcs's support.
All rcs backends need to implement rcs_remove (Done for svn, git.)
fix use ordering The recent setup revamp exposed some latent bugs in use/package ordering that caused some symbols to not the exported into the correct scope.
truncate recentchangesdiffs after 200 lines This works around a perl crasher bug, and also avoids bloating pages with enormous diffs. rcs_recentchanges modified to return a list in an array context.
* Add recentchangesdiff plugin that adds diffs to the recentchanges feeds. * rcs_diff is a new function that rcs modules should implement. * Implemented rcs_diff for git, svn, and tla (tla version untested). Mercurial and monotone still todo.
* tla: Remove call to escapeHTML when constructing recentchanges message; the html is escaped at a different level. Closes: #466495 * bzr, mercurial: Remove unused import of escapeHTML.
* Removed support for sending commit notification mails. Along with it went the svnrepo and notify settings, though both will be ignored if left in setup files.
change rcs_recentchanges when to absolute, not relative, time No point in using a relative time value in rcs_recentchanges. Different consumers of the info want different things.
figured out how rev is used..
add an id field to the rcs_recentchanges return structure There was an undocumented field named "rev", I think "id" is a better name, and nothing uses it yet.
* Optimise displaytime, trimming maybe 6% off the build time.
updates
* Add a test suite for the mercurial backend, contributed by Emanuele Aina. * Add a test suite for the svn backend. * Daemonize before sending RPC pings, since that can take a while and/or hang. * Daemonize before sending commit mails, as that can also take a long time/hang if the mail server is unhappy. * Factor out commit mail sending code into new function.
better subjects
* Add an openid plugin to support logging in using OpenID. * Web commits by OpenID users will record the full OpenID url for the user, but in recentchanges, these urls will be converted to a simplified display form+link. * Modified svn, git, tla backends to recognise such web commits.
* Make sure to check for errors from every eval.