Bug 513062 - Moving an album to an SMB network share permanently deletes hidden directories and files
Summary: Moving an album to an SMB network share permanently deletes hidden directorie...
Status: RESOLVED FIXED
Alias: None
Product: digikam
Classification: Applications
Component: Database-Engine (other bugs)
Version First Reported In: 8.8.0
Platform: Fedora RPMs Linux
: NOR grave
Target Milestone: ---
Assignee: Digikam Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2025-12-07 23:05 UTC by kde022409
Modified: 2025-12-25 10:54 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed/Implemented In: 9.0.0
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description kde022409 2025-12-07 23:05:35 UTC
SUMMARY
Moving an album containing a hidden directory or file (e.g. '.hidden' or '.hidden.jpg') from a local directory to an SMB share results in all hidden directories and files being permanently deleted instead of being copied. These files appear to be permanently deleted and are not present in any Trash folder. Affected files will have to be restored from a backup.

STEPS TO REPRODUCE
1. Mount a remote SMB share via smb4k to a local directory, e.g. "~/smb4k/server"
2. Add a directory on the share as a Digikam Collection on Network Shares, e.g. "~/smb4k/server/photos"
3. Create a new album within digikam (e.g. "Test")
4. Open the containing directory and create a '.hidden' directory, a '.hidden.jpg' file, and an 'unhidden.jpg' file.
5. Click and drag the "Test" album to the network share, selecting "Move Here".
6. Observe the output of 'tree -a ~/smb4k/server/photos/Test'.

OBSERVED RESULT
The source "Test" directory and all of its contents are deleted.
The destination "Test" directory contains only 'unhidden.jpg'.
The directory '.hidden' and all of its contents, as well as the file '.hidden.jpg', are not present anywhere on the destination or source collections, nor in the Trash.

EXPECTED RESULT
The source "Test" directory and all of its contents are deleted.
The destination "Test" directory contains 'unhidden.jpg', '.hidden.jpg', and '.hidden'.

SOFTWARE/OS VERSIONS

Operating System: Fedora Linux 43
KDE Plasma Version: 6.5.3
KDE Frameworks Version: 6.20.0
Qt Version: 6.10.1
Kernel Version: 6.17.8-300.fc43.x86_64 (64-bit)
Graphics Platform: Wayland

ADDITIONAL INFORMATION
I haven't tested this with other types of network shares, but this issue may affect those too.
Selecting "Copy To" instead of "Move To" results in the same behavior on the destination, but without the source directory being changed.
This issue does not occur when moving the album within the same collection, either on the local device or the SMB share. It also does not occur when moving the album between two different collections that are on the same SMB share.
This issue also occurs when moving the album from the SMB share to the local device, or when moving the album between two collections that are on *different* SMB shares.
Comment 1 Maik Qualmann 2025-12-08 07:19:30 UTC
Git commit 6cec2a6e83c2643bb8856c82f65db01837fea020 by Maik Qualmann.
Committed on 08/12/2025 at 07:18.
Pushed by mqualmann into branch 'master'.

copying also includes hidden files and directories
The problem occurred when moving or copying
to a different partition or drive.
FIXED-IN: 8.9.0

M  +1    -1    NEWS
M  +9    -3    core/libs/threadimageio/engine/dfileoperations.cpp

https://invent.kde.org/graphics/digikam/-/commit/6cec2a6e83c2643bb8856c82f65db01837fea020
Comment 2 Maik Qualmann 2025-12-08 07:39:48 UTC
Git commit cdbfc4d8c6f6ba1babe84a13a4bc3c6b61e90a5a by Maik Qualmann.
Committed on 08/12/2025 at 07:39.
Pushed by mqualmann into branch 'master'.

fix copy in DB at a different album root location

M  +1    -1    core/libs/database/utils/ifaces/dio.cpp

https://invent.kde.org/graphics/digikam/-/commit/cdbfc4d8c6f6ba1babe84a13a4bc3c6b61e90a5a