FHIR Chat · Ugh..null.cache merge conflicts... · committers

Stream: committers

Topic: Ugh..null.cache merge conflicts...


view this post on Zulip Jean Duteau (Mar 01 2021 at 22:23):

Does everyone else hate it when null.cache gets merge conflicts? I still don't know the proper way to merge these in. Is there some reason why we've included a cache file in the repository?

view this post on Zulip Grahame Grieve (Mar 01 2021 at 22:28):

they make a massive difference to performance - hours of difference

view this post on Zulip Grahame Grieve (Mar 01 2021 at 22:29):

but you can always revert your files and ignore your local changes

view this post on Zulip Rik Smithies (Mar 01 2021 at 23:51):

I never check this in (or snomed.cache or tools/.../snomed.xml) because they seem to change when I made no changes.

view this post on Zulip Grahame Grieve (Mar 02 2021 at 00:03):

that's cause someone else didn't commit it

view this post on Zulip Lloyd McKenzie (Mar 02 2021 at 01:03):

null.cache changes every time you build - it has a bunch of expansion timestamps in it that change when you build

view this post on Zulip Jean Duteau (Mar 02 2021 at 01:10):

Hmm, just did some searching and we could this:

git update-index --skip-worktree FILENAME

and then it will never commit that file to the repository but will get any changes to it that are checked in.

view this post on Zulip Mark Iantorno (Mar 02 2021 at 01:31):

Can we jsut add it to the gitignore?

view this post on Zulip Mark Iantorno (Mar 02 2021 at 01:32):

if someone wants to actually update it, they still can, but this way it won't affect other peoples builds

view this post on Zulip Lloyd McKenzie (Mar 02 2021 at 03:40):

The desire is that it gets kept up-to-date. If it's ignored, no one will commit it and all builds will slow down as a consequence.

view this post on Zulip Jean Duteau (Mar 02 2021 at 05:53):

no, if you add it to .gitignore then it doesn't get committed and it also doesn't get checked out. The main problem with the file is that it doesn't merge nicely. In my latest merge failure, it was just a bunch of dates that were different. I really don't understand why git can't merge it. Maybe it's not treating it as a text file?

view this post on Zulip Lloyd McKenzie (Mar 02 2021 at 06:26):

The issue is you download with one set of dates. Someone else merges with a different set of dates, then you try to merge with your dates and Git doesn't know which dates you want. Your only chance to succeed is to create your pull request and get your test build to completion between your initial pull and your merge. If anyone else gets in there, you'll get a conflict. I think the solution is for the build to hardcode the dates and expansion ids to something so they never change (unless Grahame uses them somehow?) Similar issue in the SNOMED CT expansions.

There's a tougher issue in that some of the changes appear to be date-related content that manifests in the narrative. Not sure how easy that will be to lock and not change.

view this post on Zulip Grahame Grieve (Mar 02 2021 at 06:35):

it shouldn't have dates in it. I'll investigate at some time

view this post on Zulip Lloyd McKenzie (Mar 02 2021 at 07:06):

The SNOMED cache changes dates too.

view this post on Zulip Yunwei Wang (Mar 04 2021 at 20:16):

Just curious, doesn't the build process in github rebuild every PR? If so, what is the point to check-in build generated/updated files? I have never checked in any cache files (null.cache, snomed.cache, etc). Maybe I should do that?

view this post on Zulip Mark Iantorno (Mar 04 2021 at 20:28):

the CI pipeline only checks the build, and then generates the webpage for the branch/master

view this post on Zulip Mark Iantorno (Mar 04 2021 at 20:28):

the pipeline doesn't commit anything back to the repo iteself

view this post on Zulip Mark Iantorno (Mar 04 2021 at 20:29):

it onlygenerates the website code and pushes it to build.fhir.org or build.fhir.org/branches/<your fancy branch name here>


Last updated: Apr 12 2022 at 19:14 UTC