hg-ssh: reject push earlier (on pretxnopen)
authorPierre-Yves David <pierre-yves.david@fb.com>
Sun, 10 May 2015 04:39:11 -0700
changeset 25127 2b9cda9040f7
parent 25126 00e4c5601c74
child 25128 631766d1f57a
hg-ssh: reject push earlier (on pretxnopen) We now have a lock triggered for any transaction. We use it to ensure no-read are made in read-only mode. We need more that just "no changegroup is added", since bundle2 allows for more than just changegroup to be exchanged. We still protect pushkey as it may write data without opening a transaction.
contrib/hg-ssh
tests/test-ssh.t
--- a/contrib/hg-ssh	Sun May 10 03:06:00 2015 -0700
+++ b/contrib/hg-ssh	Sun May 10 04:39:11 2015 -0700
@@ -64,7 +64,7 @@
             if readonly:
                 cmd += [
                     '--config',
-                    'hooks.prechangegroup.hg-ssh=python:__main__.rejectpush',
+                    'hooks.pretxnopen.hg-ssh=python:__main__.rejectpush',
                     '--config',
                     'hooks.prepushkey.hg-ssh=python:__main__.rejectpush'
                     ]
--- a/tests/test-ssh.t	Sun May 10 03:06:00 2015 -0700
+++ b/tests/test-ssh.t	Sun May 10 04:39:11 2015 -0700
@@ -398,7 +398,7 @@
   pushing to ssh://user@dummy/*/remote (glob)
   searching for changes
   remote: Permission denied
-  remote: abort: prechangegroup.hg-ssh hook failed
+  remote: abort: pretxnopen.hg-ssh hook failed
   remote: Permission denied
   remote: pushkey-abort: prepushkey.hg-ssh hook failed
   updating 6c0482d977a3 to public failed!