exchange: move narrow acl functionality into core
This function is called by the custom changegroup generation code
in the narrow extension. I want to move that changegroup code into
core. That means we need to move this function.
The code is kinda hacky in that assumes existence of REMOTE_USER,
which is only present on authenticated HTTP requests. I've added
a comment indicating that.
Differential Revision: https://phab.mercurial-scm.org/D4008
Set up
$ hg init repo
$ cd repo
Try to import an empty patch
$ hg import --no-commit - <<EOF
> EOF
applying patch from stdin
abort: stdin: no diffs found
[255]
No dirstate backups are left behind
$ ls .hg/dirstate* | sort
.hg/dirstate