Christian Kamm
0ed8d32ddb
File watcher: Reduce touch ignore duration
...
On Linux and Windows the file watcher can't distinguish between changes
that were caused by the process itself, like during a sync operation,
and external changes. To work around that the client keeps a list of
files it has touched and blocks notifications on these files for a bit.
The duration of this block was originally and arbitrarily set at 15
seconds. During manual tests I regularly thought there was a bug when
syncs didn't trigger, when the only problem was that my changes happened
too close to a previous sync operation.
This change reduces the duration to three seconds. I imagine that this
is still enough.
Also use std::chrono while at it.
2019-02-10 10:41:01 +01:00
Christian Kamm
c5705de4cc
SyncEngine: Rename phase finishing slots
...
slotDiscoveryJobFinished -> slotDiscoveryFinished
slotFinished -> slotPropagationFinished
This should be clearer. Particular the
slotFinished -> finalize -> emit finished()
chain was confusing before.
2019-01-18 11:16:14 +01:00
Christian Kamm
28dcceb3e4
Discovery: Fix aborting during discovery #6972
2019-01-18 11:16:14 +01:00
Christian Kamm
55eda59d05
Discovery: Ensure selective sync lists are sorted #6958
2019-01-18 11:00:13 +01:00
Olivier Goffart
3313de9066
Discovery: Handle the blacklistFiles from the server capabilities
...
Issue #434
Ideally one could add the blacklist to the exlucde reggexp, but this
is simpler
2018-12-22 18:19:37 +01:00
Olivier Goffart
3b0a21028c
SyncEngine: Ensure that the paths passed to the discovery ends with slashes
...
This was making the tx.pl test fail
2018-12-18 11:06:31 +01:00
Olivier Goffart
9fbef38247
Merge remote-tracking branch 'owncloud/vfs-master'
...
Conflicts:
src/libsync/filesystem.cpp
src/libsync/filesystem.h
2018-12-07 10:04:43 +01:00
Olivier Goffart
c3277331eb
Merge branch 'readonly-restore-context-6252' into 'master'
...
Conflicts:
src/gui/socketapi.cpp
src/gui/socketapi.h
src/libsync/syncengine.cpp
2018-12-03 14:18:35 +01:00
Christian Kamm
4f56366fd5
vfs: Ensure SyncOptions::_vfs is never null
...
- Create a VfsOff derived class
- Make it a shared pointer shared with Folder::_vfs
2018-11-26 13:02:48 +01:00
Christian Kamm
29a52e9600
vfs: Reenable local metadata updating of vfs files
2018-11-26 13:02:48 +01:00
Christian Kamm
06928a4037
winvfs: initial work
...
Done by ckamm and dschmidt
2018-11-26 12:53:30 +01:00
Olivier Goffart
682cc6f199
Sync: optimize by removing setFileRecordMetadata
...
Inh most case we already have a record from before, so avoid doing a useless
lookup in the database.
In owncloudpropagator.cpp, directories do not have a checksum so no need
to call a function that preserves it
2018-11-15 07:26:44 +01:00
Olivier Goffart
69251ed83e
Discovery: fix double emission of finished in case of error
2018-11-08 11:22:03 +01:00
Christian Kamm
2a5fbd1913
Discovery: Don't rebuild invalidFilname regex each call
2018-10-19 10:51:25 +02:00
Olivier Goffart
2e16f654ea
Merge remote-tracking branch 'owncloud/master' into new_discovery_algo
...
Conflicts:
src/csync/csync_update.cpp
test/csync/csync_tests/check_csync_update.cpp
2018-10-18 13:22:29 +02:00
Olivier Goffart
7daf393c1c
Merge remote-tracking branch 'origin/2.5'
...
Conflicts:
ChangeLog
2018-10-18 13:05:34 +02:00
Olivier Goffart
20e6ac05e4
Remove the backup deteciton code which was used for server < 9.1
2018-10-16 16:08:49 +02:00
Olivier Goffart
2df0fd936a
New discovery algorithm: fixups
...
Adapt reviews from ckamm in https://github.com/owncloud/client/pull/6738#pullrequestreview-164623532
- SyncJournalFileRecord: initialize everything inline
- Add more comments
- And some ENFORCE
2018-10-15 18:59:09 +02:00
Olivier Goffart
6cb57cf439
Local discovery: always recurse within touched directory
...
If the file system watcher tells us a directory was modified, we should
recurse into it because it means it is probably a new directory
Issue #6804
2018-10-12 12:10:50 +02:00
Olivier Goffart
d62027db4a
New Discovery algorithm: Remove the sync cleanup phase
...
Since we do not recurse within some directories, many files are not seen.
The stale entry will cleanup by themself as the sync engine try to remove
the files that are already removed.
Should we need to actually do this cleanup, it should be dotected in the
discovery.
2018-10-09 15:54:42 +02:00
Olivier Goffart
442a0e486f
New Propagation algorithm: Fetch, and emit, the root etag
...
Remove the feature to concatenate etags as servers that don't
have a root etag are no longer suported
2018-10-09 15:12:02 +02:00
Olivier Goffart
28f1c95b96
Merge remote-tracking branch 'origin/master' into new_discovery_algo
...
Conflicts:
src/csync/csync_reconcile.cpp
src/csync/csync_update.cpp
src/libsync/syncengine.cpp
src/libsync/syncengine.h
Note: csync changes from 5e442f588e
are not included and will be fixed separately
2018-10-04 11:23:19 +02:00
Olivier Goffart
0290564d5c
Merge remote-tracking branch 'owncloud/master' into delta-sync
...
Conflicts:
.gitmodules
src/cmd/cmd.cpp
src/gui/generalsettings.ui
src/libsync/propagatedownload.cpp
src/libsync/propagateuploadng.cpp
2018-09-14 15:25:59 +02:00
Christian Kamm
b4f63ca219
Conflicts: Rename BasePath to InitialBasePath #6709
2018-08-22 09:03:54 +02:00
Olivier Goffart
67ee64a769
New discovery algo: data finger print
2018-08-21 19:54:48 +02:00
Olivier Goffart
597c28f316
Merge remote-tracking branch 'master' into new_discovery_algo
2018-08-21 11:22:38 +02:00
Olivier Goffart
c85cd8e225
Conflict handling: add the OC-ConflictBasePath header
...
Issue #6702
2018-08-19 21:22:08 +02:00
Olivier Goffart
4a3fce531c
SyncEngine: Fix renames making hierarchy inversion
...
Issue #6694
2018-08-16 10:38:18 +02:00
Olivier Goffart
58f46010b5
SyncEngine: Fix the "direction" of the "all file delted" message when the server is reset
...
Using the direction of the "first" item is not enough as it might be a directory
which is a UPDATE_META_DATA, or there can have been a few changes locally as well.
As reported on https://github.com/owncloud/client/issues/6317#issuecomment-412163113
2018-08-15 09:34:19 +02:00
Olivier Goffart
58d6632eaf
Data-Fingerprint: Fix backup detection when fingerprint is empty
...
Add a test to test the data fingerprint feature make me realize it was broken.
The code was relying in the distinction between empty and null QByteArray,
but this was a bad idea as this difference is lost when going through QString.
2018-08-14 10:57:20 +02:00
Olivier Goffart
b6db624198
New discovery algorithm: Call FolderDiscovered
2018-08-06 12:53:51 +02:00
Olivier Goffart
2e82518516
New Discovery algorithm: Refactor a bit the way the signal are emited
2018-08-06 12:41:59 +02:00
Olivier Goffart
926c27a73d
New Discovery Phase: fix a few FIXME
...
Some FIXME were already fixed.
2018-08-06 11:30:21 +02:00
Olivier Goffart
eb669c997e
More cleanup of csync remains
2018-07-26 13:55:02 +02:00
Olivier Goffart
01f35bdbef
New Discovery Algo: Permsission check
2018-07-25 18:32:21 +02:00
Olivier Goffart
04da4365f9
Remove csync_update and csync_reconcile
...
I guess some other csync utilities can also be remove dnow but
that will be for later
2018-07-25 16:00:16 +02:00
Olivier Goffart
09deeaf8a8
Merge remote-tracking branch 'owncloud/master' into new_discovery_algo
...
Conflicts:
src/csync/csync_reconcile.cpp
src/csync/csync_update.cpp
2018-07-25 14:06:14 +02:00
Olivier Goffart
a0675bd0ab
Convert p7.pl to a C++ test
...
This is just a translation of test/scripts/txpl/t7.pl to C++ using the test
framework.
2018-07-25 13:48:58 +02:00
Olivier Goffart
0905892835
New Discovery Algo: Support the DatabaseAndFilesystem mode for local discovery
2018-07-18 14:19:36 +02:00
Olivier Goffart
cb6b950c60
New disco algo: Fix TestSyncFileStatusTracker
2018-07-18 12:15:13 +02:00
Olivier Goffart
8462feb8bf
New Disco algorithm: Type change (file to dir)
2018-07-17 17:22:08 +02:00
Olivier Goffart
6e6f99923e
New discovery algorithm: Fix directory deletion
...
TestAllFilesDeleted passes
2018-07-17 10:09:57 +02:00
Olivier Goffart
926c6976f5
New Discovery algorithm
...
Some error handling. In particular for the case where there is a conflict
between files and directories.
SyncEngineTest and SyncMoveTest passes
2018-07-16 18:37:18 +02:00
Olivier Goffart
1df50836ca
New Discovery algorithm: Handle of move within a moved directory
2018-07-16 16:38:24 +02:00
Olivier Goffart
9cb2973b2a
New discovery algo: Remote move
...
TestSyncMove::testRemoteChangeInMovedFolder
2018-07-11 16:55:47 +02:00
Olivier Goffart
df27bdca41
Handle Encoding Problems
...
TestSyncEngine now passes
2018-07-10 16:56:54 +02:00
Olivier Goffart
0d1f310815
Ignore Hidden Files
2018-07-10 16:38:36 +02:00
Olivier Goffart
bd504121f4
Port the invalid napme regexp
...
TestSyncEngine::testInvalidFilenameRegex
2018-07-10 16:38:33 +02:00
Olivier Goffart
9bbd807571
New discovery algo
...
Make TestSyncEngine::testSelectiveSyncBug pass
2018-07-10 15:05:01 +02:00
Olivier Goffart
1a900bbf57
New discovery algorithm: Initial work.
...
SyncEngineTest testFileDownload is passing
2018-07-10 14:53:10 +02:00