I'd like to host a local replication of the entire FreeBSD Ports trees along with rolling updates which divert things like historical code changes within a repo to separate branches such that if there's a malicious editor of a repo they don't overwrite local copies of code. Is there a simple way to do this? How much storage space would a current snapshot consume? Is there any data available on the growth of the size of the entire repo over time (years?)