I've seen this in other managers as "pin".
Anyway, this gets tricky with managing dependencies. As you say, this
would probably need to copy the current portfile, but it would also
need to pin and copy anything that depends or is dependent on this
port. And that's going to extend recursively out
It is fairly common for users to find an update to a port that won't build on
their system for some reason.
It would be nice to have a simple command, like
port peg PORTNAME
that stops the port from attempting to update until the peg is released. Such a
command does exist in other package