old_contents: #!/usr/bin/env python3
  
  import argparse
  import subprocess
  import tempfile
  import os
  import sys
  import shutil
  
  
  parser = argparse.ArgumentParser(
      description='Upload files to a remote repo, replacing existing content'
  )
  parser.add_argument('dir', help='directory of which content will be uploaded')
  parser.add_argument('remote', help='remote to which content will be pushed')
  parser.add_argument('--message', default='Commit bot upload',
                      help='commit message to use')
  parser.add_argument('--committer', default='numpy-commit-bot',
                      help='Name of the git committer')
  parser.add_argument('--email', default='numpy-commit-bot@nomail',
                      help='Email of the git committer')
  
  parser.add_argument(
      '--force', action='store_true',
      help='hereby acknowledge that remote repo content will be overwritten'
  )
  args = parser.parse_args()
  args.dir = os.path.abspath(args.dir)
  
  if not os.path.exists(args.dir):
      print('Content directory does not exist')
      sys.exit(1)
  
  
  def run(cmd, stdout=True):
      pipe = None if stdout else subprocess.DEVNULL
      try:
          subprocess.check_call(cmd, stdout=pipe, stderr=pipe)
      except subprocess.CalledProcessError:
          print("\n! Error executing: `%s;` aborting" % ' '.join(cmd))
          sys.exit(1)
  
  
  workdir = tempfile.mkdtemp()
  os.chdir(workdir)
  
  run(['git', 'init', '--initial-branch=main'])
  run(['git', 'remote', 'add', 'origin',  args.remote])
  run(['git', 'config', '--local', 'user.name', args.committer])
  run(['git', 'config', '--local', 'user.email', args.email])
  
  print('- committing new content: "%s"' % args.message)
  run(['cp', '-R', os.path.join(args.dir, '.'), '.'])
  run(['git', 'add', '.'], stdout=False)
  run(['git', 'commit', '--allow-empty', '-m', args.message], stdout=False)
  
  print('- uploading as %s <%s>' % (args.committer, args.email))
  if args.force:
      run(['git', 'push', 'origin', 'main', '--force'])
  else:
      print('\n!! No `--force` argument specified; aborting')
      print('!! Before enabling that flag, make sure you know what it does\n')
      sys.exit(1)
  
  shutil.rmtree(workdir)
  
new_contents: #!/usr/bin/env python3
  
  import argparse
  import subprocess
  import tempfile
  import os
  import sys
  import shutil
  
  
  parser = argparse.ArgumentParser(
      description='Upload files to a remote repo, replacing existing content'
  )
  parser.add_argument('dir', help='directory of which content will be uploaded')
  parser.add_argument('remote', help='remote to which content will be pushed')
  parser.add_argument('--message', default='Commit bot upload',
                      help='commit message to use')
  parser.add_argument('--committer', default='numpy-commit-bot',
                      help='Name of the git committer')
  parser.add_argument('--email', default='numpy-commit-bot@nomail',
                      help='Email of the git committer')
  
  parser.add_argument(
      '--force', action='store_true',
      help='hereby acknowledge that remote repo content will be overwritten'
  )
  args = parser.parse_args()
  args.dir = os.path.abspath(args.dir)
  
  if not os.path.exists(args.dir):
      print('Content directory does not exist')
      sys.exit(1)
  
  
  def run(cmd, stdout=True):
      pipe = None if stdout else subprocess.DEVNULL
      try:
          subprocess.check_call(cmd, stdout=pipe, stderr=pipe)
      except subprocess.CalledProcessError:
          print("\n! Error executing: `%s;` aborting" % ' '.join(cmd))
          sys.exit(1)
  
  
  workdir = tempfile.mkdtemp()
  os.chdir(workdir)
  
  run(['git', 'init'])
  run(['git', 'branch', '-m', 'master', 'main'])
  run(['git', 'remote', 'add', 'origin',  args.remote])
  run(['git', 'config', '--local', 'user.name', args.committer])
  run(['git', 'config', '--local', 'user.email', args.email])
  
  print('- committing new content: "%s"' % args.message)
  run(['cp', '-R', os.path.join(args.dir, '.'), '.'])
  run(['git', 'add', '.'], stdout=False)
  run(['git', 'commit', '--allow-empty', '-m', args.message], stdout=False)
  
  print('- uploading as %s <%s>' % (args.committer, args.email))
  if args.force:
      run(['git', 'push', 'origin', 'main', '--force'])
  else:
      print('\n!! No `--force` argument specified; aborting')
      print('!! Before enabling that flag, make sure you know what it does\n')
      sys.exit(1)
  
  shutil.rmtree(workdir)
  
subject: Use `git branch -m` instead of `--initial-branch=main`