#!/usr/bin/env python3

import sys
import os
import subprocess

git_subdirs = []

for subdir in os.listdir():
  if not os.path.isdir(os.path.join(subdir, '.git')):
    continue

  print('\n===== %s =====' % subdir)
  sys.stdout.flush()
  subprocess.call(['git', '-C', subdir] + sys.argv[1:])
  sys.stdout.flush()
  sys.stderr.flush()
