https://bugs.kde.org/show_bug.cgi?id=363599
--- Comment #6 from paul_krause_1...@t-online.de --- Dear Maik, What you say is (nearly completely) right. But, it seems there is a misunderstanding between the modification time (mtime in Linux terms) and the ctime mentioned in the original report. I provide additional info, including STEPS TO REPRODUCE below. If you are not on Linux, the call to "stat" might be impossible or needless. STEPS TO REPRODUCE 1. Run: export QT_LOGGING_RULES="digikam*=true"; digikam 2. Settings -> uncheck "Update file modification timestamp when files are modified" 3. Settings -> check "Write to sidecar files" and select "Write to XMP sidecar only" 4. Note ctime and mtime. On Linux, I use: stat --format="mtime:%y ctime:%z" image.jpg 5. Add tag to a file, e.g. "Tag" to "image.jpg". 6. Perform a synchronization if "lazy synchronization" is activated. 7. Note the new file times. OBSERVED RESULT mtime of the file is the same as before. The ctime is changed. Output: digikam.general: Writing tags digikam.general: -------------------------- New Keywords ("Tag") digikam.metaengine: MetaEngine::metadataWritingMode 1 digikam.metaengine: Will write XMP sidecar for file "image.jpg.xmp" digikam.metaengine: wroteComment: false digikam.metaengine: wroteEXIF: true digikam.metaengine: wroteIPTC: true digikam.metaengine: wroteXMP: true digikam.metaengine: File time stamp restored digikam.metaengine: Metadata for file "image.jpg" written to XMP sidecar. EXPECTED RESULT "digikam.metaengine: File time stamp restored" is not performed. Both mtime and ctime, and the inode as whole, are completely untouched. ADDITIONAL INFORMATION The ctime might only exist on Linux (or Unix) filesystems, or have a different meaning on Windows. It is updated, e.g., whenever the modification time is changed. The function "saveOperations" does this, as a side effect, in line 498 by writing the old value of the modification time to the filesystem. I'm not an expert on these times, please refer to, e.g., https://www.quora.com/What-is-the-difference-between-mtime-atime-and-ctime, if you are neither and do not believe me. I admit, I neither ran a debugger nor looked at the source code too serious, except core/libs/metadataengine/engine/metaengine_p*. Please correct me if I'm wrong, the string "File time stamp restored" appears nowhere in the source code, except in the function "saveOperations", specifically on line 503 and non-reusable. It is outputted for me, thus I conclude this function is called, even if "Write to XMP sidecar only" is selected. If this helps, I can provide further output of export QT_LOGGING_RULES="digikam*=true"; strace -f -e "trace=%file" digikam -- You are receiving this mail because: You are watching all bug changes.