Why does dt sometimes update an image/xmp even when I don't perform any edits?

I’ve been puzzled as to why copies of my images between my Linux and Windows installs seem to end up with mismatched (on the basis of date and size) xmps when I have copied them (safely, I think) between the two systems. If I open an image in darktable and immediately close it again, without performing any edits, the xmp is changed in size and modify date such that a compare, using FreeFileSync for example, shows them to be different files.

Is this because the Linux and Win versions of dt are ‘seeing’ different default modules to run when an image is opened? if so, can I adjust this such that the xmps remain identical? If this is not the cause, what is happening?

If you open an image in darkroom mode, that counts as edited. The edited time stamp is updated, at least.

Thanks for the explanation. I never noticed this prior to 4.6.1. What is fascinating is that FreeFileSync flags both the xmp (Linux and Windows) as having changed and cannot decide which is the ‘original’; i.e they are both have changed - which makes no sense. But that’s not caused by dt, I’m sure.

No clue about Free File Sync, never used it

In the preferences I ask darktable to only create an xmp file after edit and not upon import. This setting may be suitable for you.

A very long time ago I used Windows and Linux side by side. I remember having similar problems when trying to syncronize files or folders between the OSes. And I remember the issues were different with different tools I tried and if I tried to syncronize on Linux or on Windows. In the end, I completely discarded windows for many reasons, did not try to solve this specific problem.

If you use your preferred search engine to search for “linux windows timestamp mismatch” you get numerous hits which point to very different causes. Impossible to say what the cause is in your case without having much more detailed information.

How very interesting - I was not aware of this at all. A radical and unique change in my approach is required: I’ll apply common sense and tell FreeFileSync which way to update. Most importantly, I’ll continue the quest to find out how to run my last important Windows app under WINE so as to finally and thankfully drop the whole festering mess that is Windows.

I am under the impression that if I don’t check for updates on import ( correction: that should be ‘startup’, not ‘import’), do the edit and write the XMP at the completion of editing, then the xml changes which were in the imported/changed XMP are lost. Is this not so?

Edit: Just to be clear: I’m referring to the usual dt startup situation, not one where I am using the lighttable import function, so the option to ‘create xmp files on import’ has no effect. My setting of ‘look for updated XMP files on startup’ however does. When to create XMP files is a different matter.


Ignore my suggestion. I misunderstood what you were referring to. Good luck :+1:

I am unable to reproduce the size or timestamp change with 4.6.1 on Windows.

Modules are only applied automatically the first time you open an image.

1 Like

Likewise. No change in size or timestamp with 4.7.0+640~ge30a74c3f8 on windows.


Happens in 4.6.1 Windows on any image in my portfolio I care to choose: open image in darkroom, effect a change, close dt; re-open dt; open same image in darkroom; immediately close dt without any editing action, compare time stamps for the xmp: always changed, but only on first opening of image after the edit; thereafter xmp time stamp unchanged until next edit.