I’ve set up a number of Mercurial repositories that certain users are configured to have read-only access to (via the READ role).
These users have no problems cloning the repositories but if they do a pull they get a Forbidden 403 error.
Here’s an example where I clone from the Windows command line and then do an immediate pull.
V:\>hg clone --verbose https://email@example.com/scm/repo/demo/repo "V:\demo1" requesting all changes adding changesets adding manifests adding file changes added 57 changesets with 1888 changes to 1605 files (+1 heads) 66 new obsolescence markers new changesets 272ea1d84230:7ad3f7794298 updating to branch default resolving manifests calling hook preupdate.eol: hgext.eol.preupdate getting .hgflow getting .hgignore getting .hgtags ---- SNIP ---- 1597 files updated, 0 files merged, 0 files removed, 0 files unresolved (sent 4 HTTP requests and 1771 bytes; received 4066849 bytes in responses) V:\>cd demo1 V:\demo1>hg pull -v pulling from https://firstname.lastname@example.org/scm/repo/demo/repo searching for changes no changes found (sent 4 HTTP requests and 6305 bytes; received 649 bytes in responses) abort: HTTP Error 403: Forbidden
I’m using the latest 2.24 SCM-Manager on a Windows Server 2019 box behind an IIS reverse proxy. It’s using the Mercurial executable of a TortoiseHg instance on the same machine.
If I give these users the WRITE role then they have no problems doing a pull from these repositories.