lock: fix for Mercurial 3.6+ - wrap hgweb to catch Locked exceptions from hooks With Mercurial 3.6, the handling of WSGI responses changed. The hook excepti...
domruf committed on 2016-06-14 20:14:39
branch: default tag: tip changeset: ada7b049 lock: fix for Mercurial 3.6+ - wrap hgweb to catch Locked exceptions from hooks With Mercurial 3.6, the handling of WSGI responses changed. The hook exceptions are no longer raised directly when app(environ, start_response) is called so the 'except HTTPLockedRC as e' block in _handle_request (a few lines above ) does not work anymore because the exception happens later. Therefore I created a wrapper class that can catch the exceptions. This makes locking work again and fixes lock related tests like TestVCSOperations.test_clone_after_repo_was_locked_hg which expect certain output of the hg client in case of an HTTPLockedRC exception. Depending on how https://bz.mercurial-scm.org/show_bug.cgi?id=5232 gets handled, this fix might become obsolete in the future. (Modified by Mads Kiilerich) M kallithea/lib/middleware/simplehg.py (13 lines added, 1 lines removed) |
_______________________________________________ kallithea-general mailing list [email protected] http://lists.sfconservancy.org/mailman/listinfo/kallithea-general
