alex-z
3443de4388
Rollback local move when server move has failed.
...
Signed-off-by: alex-z <blackslayer4@gmail.com>
2022-02-23 16:53:26 +02:00
Felix Weilbach
2ee3ca02a4
Add unit test for move custom remote root
...
Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-06-25 10:14:29 +00:00
Hannah von Reth
4d615c31da
Rename csync_instructions_e -> SyncInsturctions
2020-12-15 10:59:10 +01:00
Hannah von Reth
86789a1280
Test: Disable parallelism to ensure serial execution
2020-12-15 10:59:10 +01:00
Hannah von Reth
734e49765d
Test: Fix testMovedWithError for vfs mode
2020-12-15 10:59:09 +01:00
Hannah von Reth
85aefa4232
Sync: Fix handling of virtual files in error state
...
Issue: #7799
2020-12-15 10:59:09 +01:00
Hannah von Reth
7644be576f
Test: Add test for vfs failed move crash
2020-12-15 10:59:09 +01:00
Olivier Goffart
a6a0e361c1
fixup test
2020-12-15 10:59:07 +01:00
Olivier Goffart
9f2c67dca9
Tests: add a couple of move tests
...
This was an attempt to reproduce #7722 , but this actually does not
reproduce it
2020-12-15 10:59:07 +01:00
Olivier Goffart
390af4d41b
Tests: introduce ItemCompletedSpy to avoid a bit of code duplication
2020-12-15 10:59:00 +01:00
Christian Kamm
c9d1037622
Propagation: Fix delete-before-rename bug #7441
...
By introducing a PropagateRootDirectory job that explicitly
separates the directory deletion jobs from all the other jobs.
Note that this means that if there are errors in subJobs the
dirDeletionJobs won't get executed.
2020-12-15 10:58:58 +01:00
Christian Kamm
47f10fbf96
Fix and test _file and _renameTarget
...
There was a bunch of inconsistency around whether _file was set to
_renameTarget or not. This is now never done, passing on more
information.
2020-12-15 10:58:44 +01:00
Christian Kamm
93afc2a04b
Discovery win: Fix detection of case-only renames
...
Previously they were detected as DELETE+NEW because if "a" is renamed to
"A" then QFile::exists("a") will still return true on Windows.
2020-12-15 10:58:42 +01:00
Christian Kamm
238ac53666
Ensure local discovery on selective sync changes
...
As far as I'm aware local discovery can be skipped on folders that are
selective-sync blacklisted, so a local discovery is required when an
entry is removed from the blacklist.
Also rename
avoidReadFromDbOnNextSync() -> schedulePathForRemoteDiscovery()
since the old name might also imply it's not read from db in the local
discovery - which is not the case. Use Folder::
schedulePathForLocalDiscovery() for that.
2020-12-15 10:58:41 +01:00
Christian Kamm
aed1f28980
Tests: Add db checks to rename/move tests
...
For moves it's relevant that the old db entry is removed and the new one
is created at the right location.
2020-12-15 10:58:41 +01:00
Olivier Goffart
6f4bf585f0
Move: Fix move detection in directory move on the other side
2020-12-15 10:58:35 +01:00
Olivier Goffart
88d02a887f
Move: add comments and tests
2020-12-15 10:58:35 +01:00
Olivier Goffart
1fb4c22adf
Move: add more test and fix move within moves
2020-12-15 10:58:35 +01:00
Olivier Goffart
ade4c11de3
Rename: fix renamed folder moved into renamed folder issue
...
Issue #6694
2020-12-15 10:58:35 +01:00
Olivier Goffart
a670431a48
SyncEngine: Fix renames making hierarchy inversion
...
Issue #6694
2020-12-15 10:58:03 +01:00
Olivier Goffart
bdd1e72dda
New discovery algoritmh: more on Renames
2020-12-15 10:57:58 +01:00
asapelkin
17f39bd09d
little loops optimization
...
Signed-off-by: asapelkin <asapelkin0x01@ya.ru>
2019-10-07 01:29:55 +03:00
Olivier Goffart
d202942a2c
Reconcile: When detecting a local move, keep the local mtime
...
https://github.com/owncloud/client/issues/6629#issuecomment-402450691
2018-09-09 21:38:10 +02:00
Christian Kamm
77fcff5bdf
Conflicts: Change tags to be more user friendly #6365
...
From "_conflict-user-yyyymmdd-hhmmss"
to " (conflicted copy user yyyy-mm-dd hhmmss)"
2018-06-11 14:40:40 +02:00
Olivier Goffart
4369853ddb
TestSystem: Add QIODevice in the serverOverride function, and add a DelayedReply
...
Preparing to add test that needs the QIODevice.
Also make the DelayedReply so we can generalize the existing delay on FakeChunkMoveReply
to any reply.
2017-12-14 11:56:12 +01:00
Christian Kamm
ceac18c554
Reconcile: Rename maps are consistent with update phase #6212
...
For duplicate file ids the update phase and reconcile phase determined
the rename mappings independently. If they disagreed (due to different
order of processing), complicated misbehavior would result.
This patch fixes it by letting reconcile try to use the mapping that the
update phase has computed first.
2017-12-06 16:42:11 +01:00
Christian Kamm
9c7ee6ef85
Reconcile: Rename handling fixes: duplicate file ids
...
When users share the same tree several times (say A/ and A/B/ are both
shared) the remote tree can have several entries that have the same
file id. This needs to be respected in rename detection.
Also adds several tests and fixes for issues noticed during testing.
See #6096
2017-10-24 10:54:23 +02:00