Stream: IG creation
Topic: committing input-cache
Jose Costa Teixeira (Mar 31 2021 at 08:05):
there was some previous discussion around this. @Grahame Grieve is it still better to commit input-cache, or we can .gitignore it?
Grahame Grieve (Mar 31 2021 at 19:24):
what's input-cache?
Chris Moesel (Mar 31 2021 at 19:26):
Here's an example from a local build of mCODE to jog your memory:
input-cache/
├── desktop.ini
├── jiraspec.xml
├── publisher.jar
├── schemas
│ ├── R4
│ │ ├── fhir-single.xsd
│ │ ├── fhir-xhtml.xsd
│ │ ├── xml.xsd
│ │ └── xmldsig-core-schema.xsd
│ └── R5
│ ├── fhir-single.xsd
│ ├── fhir-xhtml.xsd
│ ├── xml.xsd
│ └── xmldsig-core-schema.xsd
├── txcache
│ ├── all-systems.cache
│ ├── http___cancerstaging.org.cache
│ ├── http___ncithesaurus.nci.nih.gov.cache
│ ├── http___sequenceontology.org.cache
│ ├── http___varnomen.hgvs.org.cache
│ ├── http___www.ama-assn.org_go_cpt.cache
│ ├── http___www.genenames.org.cache
│ ├── http___www.ncbi.nlm.nih.gov_clinvar.cache
│ ├── icd-10-cm.cache
│ ├── icd-o-3.cache
│ ├── iso3166.cache
│ ├── lang.cache
│ ├── loinc.cache
│ ├── null.cache
│ ├── rxnorm.cache
│ ├── snomed.cache
│ ├── ucum.cache
│ ├── usmcodeCodeSystemmcode-catch-code-cs.cache
│ ├── usmcodeCodeSystemmcode-radiotherapy-cs.cache
│ └── version.ctl
└── workgroups.xml
Chris Moesel (Mar 31 2021 at 19:28):
It's populated by the IG Publisher and can be safely deleted, but since it has caches, keeping it (or checking parts of it in) can increase performance of subsequent runs.
Jose Costa Teixeira (Mar 31 2021 at 19:29):
Grahame Grieve said:
what's input-cache?
the folder in the IG input (as Chris pointed out). a few months ago there was some discussion and IIRC you said that maybe we should stop committing it
Grahame Grieve (Mar 31 2021 at 19:59):
the only thing to commit in there is tx-cache. Should ignore the rest. For tx-cache... committing it causes conflict violations for people which cascade as people don't manage it, and people find that terrifying (and git makes this worse but not providing a nice 'reset me' operation)
but it does make a real difference to build time. you can find out how much by running it, then running it again and then deleting the files in tx-cache and running it again, and checking the time difference between the last two runs
Jose Costa Teixeira (Mar 31 2021 at 20:22):
So when someone downloads a repo, they can save build time because the previous committer, when committing their changes, also committed the tx-cache.
Jose Costa Teixeira (Mar 31 2021 at 20:22):
that is presuming that the previous committer did include the tx-cache changes, and that is for saving time in the first build.
Chris Moesel (Mar 31 2021 at 20:34):
Right, but I think Grahame is suggesting that these caches don't survive merges well and/or they create merge conflicts that are difficult to resolve. And a corrupt cache is worse than no cache at all. I hadn't thought of that, but it's definitely a good thing to be aware of.
Jose Costa Teixeira (Mar 31 2021 at 20:39):
yes, that is the point for my analysis. The potential inconvenience seems not to be worth the advantages for it being default.
Jose Costa Teixeira (Mar 31 2021 at 20:53):
so perhaps we can set "simple" IGs to not commit the input.cache (i.e. add it to .gitignore by default), and those who want the benefits and risks can remove it from .gitignore?
Chris Moesel (Mar 31 2021 at 22:07):
I think that is fair. It also has a built-in safety mechanism in that people who aren't so good at git will be naturally protected since they won't know how to update .gitignore. ;-)
Last updated: Apr 12 2022 at 19:14 UTC