#212731 by boombatower: rewritten to allow for a commit to be in multiple branches, clean up, and documentation fixes.