But do you really need this functionality, if you already have an SQL database?
That is, you can:
1. Create a table with an extra changeset id column and a branch id column, so that you can keep historical values.
2. Have a view on that table with the latest version of each record on the master branch.
3. Express branching-related actions as actions on the main table with different record versions and branch names
4. For the chocolate sprinkles, have tables with changeset info and branch info
and that gives you a poor man's git already - doesn't it?
replies(1):