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

Reply via email to