d4d334d54107b89bcc07cbf4684749ccadee31fe
hiram
  Thu Dec 11 14:20:38 2025 -0800
only copy groups.txt if it is actually different refs #29545

diff --git src/hg/makeDb/doc/asmHubs/asmHubs.mk src/hg/makeDb/doc/asmHubs/asmHubs.mk
index 17223b1576c..604f9959e5e 100644
--- src/hg/makeDb/doc/asmHubs/asmHubs.mk
+++ src/hg/makeDb/doc/asmHubs/asmHubs.mk
@@ -112,34 +112,35 @@
 	rm -f ${destDir}/${testDataName}.html ${destDir}/${dataName}.html ${destDir}/download.${dataName}.html
 	${toolsDir}/trackData.pl ${Name} ${name} ${orderList} > ${destDir}/download.${dataName}.html
 	${toolsDir}/trackData.pl -test ${Name} ${name} ${orderList} > ${destDir}/${dataName}.html
 	chmod +x ${destDir}/${dataName}.html
 	chmod +x ${destDir}/download.${dataName}.html
 
 indexPages: mkJson hubIndex asmStats trackData
 	echo indexPages done
 
 ### obsolete, these hub.txt files are now static 2024-10-23
 hubTxt:
 	rm -f ${destDir}/${testHubFile}.txt ${destDir}/${hubFile}.txt
 	sed -e "s#index.html#${indexName}.html#; s#genomes.txt#${genomesTxt}.txt#;" ${srcDir}/${hubTxtFile} > ${destDir}/${hubFile}.txt
 
 # all hubs have the same set of groups, no need for any name customization
+#  copy only if different, the PHONY prevents problems if some file 'groupsTxt'
+#     happens to exist, it should not be examined
+.PHONY: groupsTxt
 groupsTxt:
-	rm -f ${destDir}/groups.txt
-	rm -f ${destDir}/groups.txt
-	cp -p ${toolsDir}/groups.txt ${destDir}/groups.txt
+	@cmp -s ${toolsDir}/groups.txt ${destDir}/groups.txt || cp --remove-destination -p ${toolsDir}/groups.txt ${destDir}/groups.txt
 
 clean::
 	rm -f ${destDir}/${hubFile}.txt
 	rm -f ${destDir}/${testHubFile}.txt
 	rm -f ${destDir}/groups.txt
 	rm -f ${destDir}/${genomesTxt}.txt
 	rm -f ${destDir}/${indexName}.html
 	rm -f ${destDir}/${testIndexName}.html
 	rm -f ${destDir}/${statsName}.html
 	rm -f ${destDir}/${testStatsName}.html
 
 sendDownload:: sshKeyCheck
 	${toolsDir}/mkSendList.pl ${orderList} | while read F; do \
 	  ((N=N+1)); printf "### count %5d\t%s\t%s\n" $${N} $${F} "`date '+%F %T %s'`"; ${toolsDir}/sendToHgdownload.sh $$F < /dev/null; done
 	rsync -L -a -P \