When using FreeBSD, I always run into the problem of maintaining local ports. Usually I find a way around the problem using some good-natured shell hijinks, or end up simply installing linux as a stop-gap (due to time pressure), but this time I think I have found a more permanent solution: Local ports which coexist with portsnap! In that thread there was actually another, similar solution, but I have stuck with the first for now. The only significant difference between the two was the use of categories.
I followed the instructions in the first link, leaving out any ports
categories I did not need. Then I created a git repository in
/usr/ports/local, committed everything under that to the repository,
and pushed the repository to my server (just in case). Finally, I ran
portsnap fetch update to see if it would blow away my changes... and
it did not! It did not include my local branch when building the
index, so I will have to run
make index after updating the ports tree.
A small price to pay.
This method leaves me easily able to re-install while retaining all those ports I have enhanced with local tweaks... you know... both of them. ;)