dupond
April 11, 2026, 1:43pm
1
Hi,
I'm experiencing an issue where empty folders created, synced, and then deleted from the source are still left on the destination.
I'm using rclone with a crypted folder on a Swift backend.
After syncing files, any empty folders created during the sync process remain on the destination, even after the source is cleaned up.
Thanks
rclone -V
rclone v1.73.4
os/version: Microsoft Windows 11 Home 25H2 25H2 (64 bit)
os/kernel: 10.0.26200.8037 (x86_64)
os/type: windows
os/arch: amd64
go/version: go1.25.9
go/linking: static
go/tags: cmount
rclone config redacted
[backup]
type = crypt
remote = infomaniak:
password = XXX
password2 = XXX
[infomaniak]
type = swift
user = XXX
key = XXX
auth = https://XXX
domain = XXX
tenant = XXX
tenant_domain = XXX
region = XXX
storage_url =
auth_version =
Please provide example what exactly you are doing including debug log (add--log-level DEBUG flag to your command).
dupond
April 12, 2026, 6:30am
3
PS C:\Users***> ls C:\DATA\
# User-specific paths removed
# [EmptyFolder] is not present
PS C:\Users***> &"C:\Program Files\rclone.exe" lsd backup:
[...]
0 2000-01-01 01:00:00 0 [EmptyFolder]
[...]
PS C:\Users***> &"C:\Program Files\rclone.exe" sync C:\DATA backup: --copy-links --checkers=12 --fast-list --log-level DEBUG > output.txt 2>&1
PS C:\Users***> &"C:\Program Files\rclone.exe" lsd backup:
[...]
0 2000-01-01 01:00:00 0 [EmptyFolder]
[...]
Anonymized content of output.txt (The folder [EmptyFolder] is not present in the logs).
rclone.exe : 2026/04/11 20:46:22 DEBUG : rclone: Version "v1.73.4" starting with parameters ["C:\\Program
Files\\rclone.exe" "sync" "C:\\DATA" "backup:" "--copy-links" "--checkers=12" "--fast-list" "--log-level" "DEBUG"]
Au caractère Ligne:1 : 1
+ &"C:\Program Files\rclone.exe" sync C:\DATA backup: --copy-links - ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (2026/04/11 20:4...level" "DEBUG"]:String) [], RemoteException
+ FullyQualifiedErrorId : NativeCommandError
2026/04/11 20:46:22 DEBUG : Creating backend with remote "C:\\DATA"
2026/04/11 20:46:22 DEBUG : Using config file from "C:\\Users\\***\\.config\\rclone\\rclone.conf"
2026/04/11 20:46:22 DEBUG : local: detected overridden config - adding "{12rtk}" suffix to name
2026/04/11 20:46:22 DEBUG : fs cache: renaming cache item "C:\\DATA" to be canonical "local{12rtk}://?/C:/DATA"
2026/04/11 20:46:22 DEBUG : Creating backend with remote "backup:"
2026/04/11 20:46:22 DEBUG : Creating backend with remote "infomaniak:"
2026/04/11 20:46:23 DEBUG : Swift root: Auto set use_segments_container to true
2026/04/11 20:46:40 DEBUG : ***: size = 2551169979 OK
[...]
2026/04/11 21:07:52 DEBUG : ***: size = 18427 OK
2026/04/11 21:07:52 DEBUG : ***: Size and modification time the same
(differ by 0s, within tolerance 100ns)
2026/04/11 21:07:52 DEBUG : ***: Unchanged skipping
2026/04/11 21:07:52 DEBUG : Encrypted drive 'backup:': Waiting for transfers to finish
2026/04/11 21:07:52 DEBUG : Waiting for deletions to finish
2026/04/11 21:07:52 INFO :
Transferred: 21.543 KiB / 21.543 KiB, 100%, 0 B/s, ETA 0s
Checks: 32057 / 32057, 100%, Listed 66958
Transferred: 1 / 1, 100%
Elapsed time: 21m29.5s
2026/04/11 21:07:52 DEBUG : 26 go routines active
I think that what is happening is that empty directories were never fully implemented for Swift object storage…
opened 04:57AM - 18 Aug 19 UTC
closed 10:00AM - 03 Sep 23 UTC
enhancement
Remote: Swift
Remote: Google Cloud Storage
Remote: Backblaze B2
Remote: S3
Remote: Azure Blob
Remote: Qingstor
metadata
#### Progress
1. error on empty directory
- [ ] azureblob
- [ ] b2
- [x] gcs…
- [ ] qingstor
- [x] s3
- [ ] swift
#### Current Situation:
Rclone does not officially support empty directories on BBR, however as many parts of the rclone api use file based systems there are many edge cases where rclone acts as if empty directories exist on BBR.
this causes non existent paths to be validated as rclone cant tell the difference between them and empty directories. this can cause inconsistencies with `mount` etc.
this has been discussed before, see #3427 #3415
#### Proposed solutions:
**1. enforce non support of empty directories on BBR:**
- make empty directories be an invalid path
- must fix list commands
- this will need work to make consistent with `mount` and similar commands which expect a filesystem (empty directories)
**2. support empty directories on BBR via a hidden empty file:**
- this is already done by some clients on other remotes (B2 web client, some S3 clients)
- need standardization to ensure that rclone uses the same files as others
- require refactoring of many BBR to include this logic
- cause some confusion about these files, but make filesystem commands (`mount`) work better
- requires more api calls - more expensive
**3. 1 & 2 via a flag:**
- this give the most options but will be slightly more confusing to use and require duplicate codepaths
---
if i missed anything please comment and i will add them in.
this will be a significant decision. rclone should have an policy which will help unified implementations for different backends.
i do not mind helping will this but it will definitely require help from many people.
thanks to all those that have made these remotes work until now
@ncw Please review
master ← joec4i:swift-dir-marker
opened 02:16AM - 22 May 23 UTC
#### What is the purpose of this change?
Support --swift-directory-markers .
…
I also included a change to `TestSwiftAIO` to allow retries. That fixes occasional errors because the `swift-aio` container wasn't cleaned up properly between the first and the second integration test runs.
Please let me know if I miss anything. Thanks!
#### Was the change discussed in an issue or in the forum before?
#3453
#### Checklist
- [x] I have read the [contribution guidelines](https://github.com/rclone/rclone/blob/master/CONTRIBUTING.md#submitting-a-new-feature-or-bug-fix).
- [x] I have added tests for all changes in this PR if appropriate.
- [x] I have added documentation for the changes if appropriate.
- [x] All commit messages are in [house style](https://github.com/rclone/rclone/blob/master/CONTRIBUTING.md#commit-messages).
- [x] I'm done, this Pull Request is ready for review :-)
so until done I am afraid you are out of luck. Maybe it is something you can help with?