e1e3339475b5276781bdbb69dc991f8fc6173ae2
jcasper
  Sat Nov 21 16:27:40 2020 -0800
Fix for absence of a release tag in an include file ignoring a parent include's release tag, refs #26566

diff --git src/hg/utils/tdbQuery/tdbQuery.c src/hg/utils/tdbQuery/tdbQuery.c
index 2f97576..3aac1ea 100644
--- src/hg/utils/tdbQuery/tdbQuery.c
+++ src/hg/utils/tdbQuery/tdbQuery.c
@@ -467,30 +467,34 @@
             char *words[5];
             int count = chopLine(field->val, words);
             if (count > 2)
                 errAbort("Too many words on include line at line %d of %s",
 		     tdbRecordLineIx(record), lf->fileName);
 
 	    char *relPath = words[0];
             char *subRelease = NULL;
             if (count == 2)
                 {
                 subRelease = cloneString(words[1]);
                 if (!trackDbCheckValidRelease(subRelease))
                     errAbort("Include with bad release tag %s at line %d of %s",
                         subRelease, tdbRecordLineIx(record), lf->fileName);
                 }
+            else if (releaseTag != NULL)
+                {
+                subRelease = releaseTag;
+                }
 
             if (subRelease && releaseTag && !sameString(subRelease, releaseTag))
                 errAbort("Include with release %s included from include with release %s at line "
                          "%d of %s", subRelease, releaseTag, tdbRecordLineIx(record),
                      lf->fileName);
 
             safef(includeName, sizeof(includeName), "%s%s", dir, relPath);
             if (hashLookup(circularHash, includeName))
                 {
 		errAbort("Including file %s in an infinite loop line %d of %s",
 			includeName, tdbRecordLineIx(record), lf->fileName);
 		}
 	    recurseThroughIncludes(includeName, lm, circularHash, pRecordList,
                 subRelease);
 	    }