a3c54789f08140d5c91b7d3c011a6fc9b967560f
galt
  Mon Apr 24 14:56:51 2017 -0700
Add a little touch to keep sha1 from the trash cleaner. refs #17358

diff --git src/hg/hgTracks/hgTracks.c src/hg/hgTracks/hgTracks.c
index 180f028..f021a43 100644
--- src/hg/hgTracks/hgTracks.c
+++ src/hg/hgTracks/hgTracks.c
@@ -4065,30 +4065,35 @@
 	{
 	warn("Unable to open [%s] with udc", multiRegionsBedUrl);
 	return FALSE;
 	}
     *bedDateTime = udcTimeFromCache(multiRegionsBedUrl, NULL);
     }
 else
     {
     lf = lineFileMayOpen(multiRegionsBedUrl, TRUE);
     if (!lf)
 	{
 	warn("BED custom regions file [%s] not found.", multiRegionsBedUrl);
 	return FALSE;
 	}
     *bedDateTime = 0;
+    // touch corresponding .sha1 file to save it from trash cleaner.
+    char multiRegionsBedUrlSha1Name[1024];
+    safef(multiRegionsBedUrlSha1Name, sizeof multiRegionsBedUrlSha1Name, "%s.sha1", multiRegionsBedUrl);
+    if (fileExists(multiRegionsBedUrlSha1Name))
+	maybeTouchFile(multiRegionsBedUrlSha1Name);	
     }
 char *line;
 int lineSize;
 int expectedFieldCount = -1;
 struct bed *bed, *bedList = NULL;
 while (lineFileNext(lf, &line, &lineSize))
     {
     // Process comments for keywords like database, shortDesc, and maybe others
     if (startsWith("#",line))
 	{
 	if (startsWith("#database ",line))
 	    {
 	    char *dbFromBed = line+strlen("#database ");
 	    if (!sameString(database,dbFromBed))
 		{