Turns out it wasn't git's fault - though really helpful for us to clarify what git is doing, and ensure we have a decent set of default .gitattributes set...

We don't fully know what is going on, but ALL DTLs on one Ensemble instance throw this error, on load in Management Portal or compile via Studio or VS Code - can't even create a new DTL. So we are currently suspecting some kind of corruption/error on that server, rather than something related to the code we are bringing from git. But no idea what has gone wrong. Its a dev server - we may just scrub it and reinstall...

For completeness / in case others come across this, turned out the XML export file was being corrupted during transfer between the two systems. It was a CR/LF corruption - in our specific case CR/LF was getting converted to CR/CR/LF !!

Highlighted that DTL's specifically appear sensitive to CR/LF changes - we've subsequently come across the same #6301 error loading DTL's get CR/LF modified in another way (we're still tracking that one down, though suspicion currently is with git...)

Thanks Cristiano. I'd found the page you linked to before, but its not very explicit about uninstallation!

Would I be correct in interpreting it as:

  • only uninstall option is the unattended section at https://docs.intersystems.com/ens201817/csp/docbook/DocBook.UI.Page.cls?...
  • would I be correct to interpret 'CacheC' in the example command as the instance name of the Ensemble installation to be uninstalled? Or is that the folder name on the filesystem where it is in installed?
  • Not familiar with Windows Registry editing, so can I safely delete those two trees in the registry if i want a completely fresh start?

Thanks!

Thanks all for responding. Really only adding this message so I can try and mark the question as answered - since there are the two approaches (ompare and using git/repo tools), not wanting to mark one or other as the answer, since both have merits and may be helpful for different situations. I suspect we'll try the git/repo tools approach first, given our particular mix of platform and experience.

Thanks for suggestions so far.

One challenge is our organisation is very wary of installing any additional code (as Alex suggested) or hooking up something like VS Code, to the live server, which is passing patient information between the various hospital systems... The test system has a little more flexibility, but organisation is a bit twitchy!! Would a plausible path be to sort of follow Eduard's suggestion, but:

  1. Export code from live (an export of the classes via Management portal, or if better an export via Studio) to XML
  2. Export code from test (as above) to XML 
  3. On a local laptop, import live code to a newly created namespace and commit from there to a GitLab repo
  4. On same local laptop, import test code and commit from there to the GitLab repo
  5. Compare as suggested....