I've been using non-integer (but numerical) epochs in a few of my ports just
because it made sense to set it e.g. to 5.1 when I started using the 5.1 branch
in a port. AFAIK the property is purely internal so it could be anything (i.e.
a string), much more so than the revision. In fact I thought MacPorts only uses
it to divide the version timeline into individual epochs which don't have a
chronological relationship among each other, no?
I can imagine that it won't be easy to change the type used internally for the
epoch so this is not a suggestion to change it (but if possible, yeah, I think
it'd be a good idea to make it a string entity).
A question though: what epoch was being used for those ports of mine - just the
`floor(epoch)` (or `(int)(epoch)`) value? If I'm going to have to correct my
ports I'd just as well avoid the introduction of a new epoch ...