Once you will mirror or push your code to public mirrors, should we remove reverences back to phabricator like arcconfig?
I don't understand why you would want to do this, what's the use case here?
The mirroring feature is designed mostly for Open Source projects that want to maintain a presence e.g. on Github. Without the .arcconfig, people won't be able to contribute back to the project easily as 'arc diff' wont work.
On the technical side, a git changeset identifier is a hash of it's contents, so this would make them two separate repos and massively complicate the implementation.
Yeah, this isn't practical to support as a mirror option, since altering the repository contents changes commit hashes and history. Generally, I agree with @asherkin's other points, too.
You'll eventually be able to do something like this through Harbormaster (i.e., for every commit, mutate the repository and publish it somewhere) but even then I'm not sure this is a very great idea. I think this definitely doesn't make sense as part of mirroring.