docs: def _makeBuildbotTac(basedir, tac_file_contents, quiet):
      """
      Create buildbot.tac file. If buildbot.tac file already exists with
      different contents, create buildbot.tac.new instead.
  
      @param basedir: worker base directory relative path
      @param tac_file_contents: contents of buildbot.tac file to write
      @param quiet: if True, don't print info messages
  
      @raise CreateWorkerError: on error reading or writing tac file
      """
      tacfile = os.path.join(basedir, "buildbot.tac")
  
      if os.path.exists(tacfile):
          try:
              with open(tacfile, "rt") as f:
                  oldcontents = f.read()
          except IOError as exception:
              raise CreateWorkerError("error reading {0}: {1}".format(
                                      tacfile, exception.strerror))
  
          if oldcontents == tac_file_contents:
              if not quiet:
                  print("buildbot.tac already exists and is correct")
              return
  
          if not quiet:
              print("not touching existing buildbot.tac")
              print("creating buildbot.tac.new instead")
  
          tacfile = os.path.join(basedir, "buildbot.tac.new")
  
      try:
          with open(tacfile, "wt") as f:
              f.write(tac_file_contents)
          os.chmod(tacfile, 0o600)
      except IOError as exception:
          raise CreateWorkerError("could not write {0}: {1}".format(
                                  tacfile, exception.strerror))