mirror of
https://github.com/rclone/rclone.git
synced 2025-12-06 00:03:32 +00:00
sync: avoid copying dir metadata to itself
In convmv, src and dst can point to the same directory. Unless a dir's name is changing, we should leave it alone and not attempt to copy its metadata to itself.
This commit is contained in:
@@ -1109,6 +1109,9 @@ func (s *syncCopyMove) markDirModifiedObject(o fs.Object) {
|
||||
// be nil.
|
||||
func (s *syncCopyMove) copyDirMetadata(ctx context.Context, f fs.Fs, dst fs.Directory, dir string, src fs.Directory) (newDst fs.Directory) {
|
||||
var err error
|
||||
if dst != nil && src.Remote() == dst.Remote() && operations.OverlappingFilterCheck(ctx, s.fdst, s.fsrc) {
|
||||
return nil // src and dst can be the same in convmv
|
||||
}
|
||||
equal := operations.DirsEqual(ctx, src, dst, operations.DirsEqualOpt{ModifyWindow: s.modifyWindow, SetDirModtime: s.setDirModTime, SetDirMetadata: s.setDirMetadata})
|
||||
if !s.setDirModTimeAfter && equal {
|
||||
return nil
|
||||
|
||||
Reference in New Issue
Block a user