This is an implementation of alternate git internals where trees point to subcommits rather than other trees. This allows subdirectory history tracking to be baked into the repository structure. This is based on Write Yourself a Git (https://wyag.thb.lt/) Note that this requires >= Python 3.10