What is the best-practice for managing Aegir sites in Git? I know there is a million ways this could be done, I'm more looking for the "best-practice" of how this "should" be done.

I have an Aegir setup with 4 different Drupal platforms.
Within each platform there are several Sites.
There is also modules/themes in the "all" directory that are shard between the sites.

How would one one manage these platforms/sites in Git?

Should we create 1 repo for the entire "platforms" folder?
A repo for each platform folder?
A repo for each platform folder and a repo for each site?
A repo for each site and a repo for each "all" site?

What would be the best practice for this?

thanks!
Here's the recommended way for Barracuda/Aegir by Omega8:


  The recommended (and also more advanced) way to manage your Sites code
  is to use Makefiles (and then Drush Make) to build your Platforms,
  apply patches to contrib or custom modules etc, then using Profiler
  module to create your custom Installation Profile and manage in your
  Git repo just your Makefiles, your Installation Profiles and only your
  custom modules and patches – in a separate repo per module and per
  theme.


Source: http://omega8.cc/managing-your-code-in-the-aegir-style-110.