This is not expected.
When we receive a VCS request, we first determine if it is read-only or read-write, so we can apply the appropriate permissions checks (e.g., require “Pushable By” permission for writes) and route the request appropriately (e.g., to a writable node in a clustered environment).
git, determining whether a request is read-only or read-write is straightforward, since
git runs different top-level commands for read workflows and write workflows. In
hg, we must parse more of the protocol to distinguish between read operations and write operations.
This error may indicate that we’re identifying the request as a read-write request when it’s really a read-only request. We assume new types of protocol frames are read-write, so this can happen when the
hg protocol changes and we haven’t added new commands to the list of read-only commands yet.
That said, I can’t immediately reproduce this:
Here’s what happens when I clone it:
$ hg clone ssh://email@example.com/source/mercurial-test/ hg-test-2
requesting all changes
adding file changes
added 3 changesets with 2 changes to 2 files
new changesets e800273ae053:aaefbe96a5bb
updating to branch default
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
I’m using this version of Mercurial:
$ hg --version
Mercurial Distributed SCM (version 4.7)
(see https://mercurial-scm.org for more information)
Copyright (C) 2005-2018 Matt Mackall and others
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Version information about your copy of
hg may be helpful in reproducing this.