You could also try without --delay-updates, which also triggers this requirement to know the full file list in advance.
But not using --delay-updates means that the yum repo could be in an inconsistent/nonfuctional state until the sync finishes. That isn't good for a public mirror.