97b9c00e2fa052fd5bf566011307f01841926f94
galt
  Mon Apr 28 10:48:51 2025 -0700
increasing purgestart to reach 20 years back if needed

diff --git src/hg/hgcentralTidy/hgcentralTidy.c src/hg/hgcentralTidy/hgcentralTidy.c
index f2416499406..2af13ef2472 100644
--- src/hg/hgcentralTidy/hgcentralTidy.c
+++ src/hg/hgcentralTidy/hgcentralTidy.c
@@ -391,31 +391,31 @@
 while ((row = sqlNextRow(sr)) != NULL)
     {
     ids[i++] = sqlUnsigned(row[0]);
     if (i >= totalRows)
 	break;
     }
 sqlFreeResult(&sr);
 totalRows = i;  // in case they differed.
 
 int purgeRangeStart = -1;
 int purgeRangeEnd = -1;
 if (optionExists("purgeStart"))   // manual purge range specified
     {
     purgeStart = optionInt("purgeStart", -1);
     purgeEnd = optionInt("purgeEnd", -1);
-    if (purgeStart < 1 || purgeStart > 720)
+    if (purgeStart < 1 || purgeStart > 8000) // up to 20 years ago
 	errAbort("Invalid purgeStart");
     if (purgeEnd < 0)
 	purgeEnd = 0;
     if (purgeStart < purgeEnd)
 	errAbort("purgeStart should be greater than purgeEnd (in days ago)");
     purgeRangeStart = binaryIdSearch(ids, totalRows, table, purgeStart, FALSE);
     purgeRangeEnd   = binaryIdSearch(ids, totalRows, table, purgeEnd, TRUE);
     verbose(1, "manual purge range: purgeStart %d purgeEnd %d rangeStart %d rangeEnd %d rangeSize=%d ids[rs]=%u\n", 
                                     purgeStart,   purgeEnd, purgeRangeStart, purgeRangeEnd, purgeRangeEnd-purgeRangeStart, ids[purgeRangeStart]);
     if (!optionExists("dryRun"))
 	cleanTableSection(table, ids[purgeRangeStart], ids[purgeRangeEnd]);
     }
 else  // figure out purge-ranges automatically
     {