

Mirroring is exactly that: a copy
If the thing you are mirroring does something you don’t like, you can’t stop. Literally imagine standing in front of a mirror and trying to stop the reflection from doing something you don’t like. Not happening.
The thing about git is that it keeps all history, even in a force push situation, unless they actively clear previous history, which is… difficult.
What you can do is lag proxy whatever the main branch is to catch it in time, or just keep revisions of your mirror that you script and tag yourself. It’s like a daily backup you can go back and look into.
It’s going to waste a ton of space and time, but it would effectively create a stop-loss on someone nuking history, which generally is just not a thing that people do because it’s entirely stupid.




Pruning clears cached blobs and unlinked objects. It 100% will not clear history unless you’re forcing a specific depth to be achieved, which, again, is not something that people who want a functional repo would do.