Conceptually, Fossil would be the right tool. See chapter 2.7: https://www.fossil-scm.org/home/doc/trunk/www/fossil-v-git.w...