967d0f8de69dce6f67490147438aec1164015b76
hiram
  Fri Aug 1 10:48:48 2025 -0700
make public.hub.txt and hub.txt have the same mtime to avoid duplicate pushing in the otto cron jobs refs #34917

diff --git src/hg/makeDb/doc/asmHubs/mkGenomes.pl src/hg/makeDb/doc/asmHubs/mkGenomes.pl
index 03d5c141b4f..a184fe6478b 100755
--- src/hg/makeDb/doc/asmHubs/mkGenomes.pl
+++ src/hg/makeDb/doc/asmHubs/mkGenomes.pl
@@ -371,30 +371,37 @@
   printf HT "genomesFile genomes.txt\n";
   printf HT "email genome-www\@soe.ucsc.edu\n";
   printf HT "descriptionUrl html/%s.description.html\n", $asmId;
   close (HT);
 
   # try creating single file hub.txt, one for hgwdev, one for hgdownload
   my $downloadHubTxt = "$buildDir/${asmId}.download.hub.txt";
   open (DL, ">$downloadHubTxt") or die "can not write to $downloadHubTxt";
   $localHubTxt = "$buildDir/${asmId}.singleFile.hub.txt";
   open (HT, ">$localHubTxt") or die "can not write to $localHubTxt";
 
   writeHubTxtFiles(\*HT, \*DL, $accessionId, $orgName, $descr, $asmId, $asmDate,
 	$defPos, $taxId, $trackDb, $accessionDir, $buildDir, $chromAuthority,
            $hugeGenome);
 
+  ### make the hub.txt and public.hub.txt identical times for the otto push
+  ### job detection so it won't be pushing public.hub.txt just because it
+  ### it has a different mtime from the hub.txt.  This singleFile.hub.txt
+  ### becomes the 'hub.txt' on hgdownload and in /gbdb/ and that file is
+  ### identical to public.hub.txt
+  `touch -r "$buildDir/${asmId}.singleFile.hub.txt" "$buildDir/public.hub.txt"`;
+
   my $localGenomesFile = "$buildDir/${asmId}.genomes.txt";
   open (GF, ">$localGenomesFile") or die "can not write to $localGenomesFile";
   printf GF "genome %s\n", $accessionId;
   printf GF "taxId %s\n", $taxId if (length($taxId) > 1);
   printf GF "trackDb trackDb.txt\n";
   printf GF "groups groups.txt\n";
   printf GF "description %s\n", $orgName;
   printf GF "twoBitPath %s.2bit\n", $accessionId;
   printf GF "twoBitBptUrl %s.2bit.bpt\n", $accessionId;
   printf GF "chromSizes %s.chrom.sizes.txt\n", $accessionId;
   if ( -s "${buildDir}/${asmId}.chromAlias.bb" ) {
     printf GF "chromAliasBb %s.chromAlias.bb\n", $accessionId;
   } else {
     printf GF "chromAlias %s.chromAlias.txt\n", $accessionId;
   }