fix rev by:

 * ensuring we don't tramp when src == dst