mirror of
https://github.com/rclone/rclone.git
synced 2025-12-16 00:04:40 +00:00
sync: implement directory sync for mod times and metadata
Directory mod times are synced by default if the backend is capable and directory metadata is synced if the --metadata flag is provided and the backend is capable. This updates the bisync golden tests also which were affected by --dry-run setting of directory modtimes. Fixes #6685
This commit is contained in:
@@ -446,18 +446,21 @@ This can be used when scripting to make aged backups efficiently, e.g.
|
||||
|
||||
## Metadata support {#metadata}
|
||||
|
||||
Metadata is data about a file which isn't the contents of the file.
|
||||
Normally rclone only preserves the modification time and the content
|
||||
(MIME) type where possible.
|
||||
Metadata is data about a file (or directory) which isn't the contents
|
||||
of the file (or directory). Normally rclone only preserves the
|
||||
modification time and the content (MIME) type where possible.
|
||||
|
||||
Rclone supports preserving all the available metadata on files (not
|
||||
directories) when using the `--metadata` or `-M` flag.
|
||||
Rclone supports preserving all the available metadata on files and
|
||||
directories when using the `--metadata` or `-M` flag.
|
||||
|
||||
Exactly what metadata is supported and what that support means depends
|
||||
on the backend. Backends that support metadata have a metadata section
|
||||
in their docs and are listed in the [features table](/overview/#features)
|
||||
(Eg [local](/local/#metadata), [s3](/s3/#metadata))
|
||||
|
||||
Some backends don't support metadata, some only support metadata on
|
||||
files and some support metadata on both files and directories.
|
||||
|
||||
Rclone only supports a one-time sync of metadata. This means that
|
||||
metadata will be synced from the source object to the destination
|
||||
object only when the source object has changed and needs to be
|
||||
@@ -1560,10 +1563,10 @@ some context for the `Metadata` which may be important.
|
||||
- `SrcFsType` is the name of the source backend.
|
||||
- `DstFs` is the config string for the remote that the object is being copied to
|
||||
- `DstFsType` is the name of the destination backend.
|
||||
- `Remote` is the path of the file relative to the root.
|
||||
- `Size`, `MimeType`, `ModTime` are attributes of the file.
|
||||
- `Remote` is the path of the object relative to the root.
|
||||
- `Size`, `MimeType`, `ModTime` are attributes of the object.
|
||||
- `IsDir` is `true` if this is a directory (not yet implemented).
|
||||
- `ID` is the source `ID` of the file if known.
|
||||
- `ID` is the source `ID` of the object if known.
|
||||
- `Metadata` is the backend specific metadata as described in the backend docs.
|
||||
|
||||
```json
|
||||
|
||||
Reference in New Issue
Block a user