nextcloud-desktop/csync
Christian Kamm c5a0ce5a43 Selective sync: Skip excluded folders when reading db
When a new folder becomes selective-sync excluded, we already mark it
and all its parent folders with _invalid_ etags to force rediscovery.

That's not enough however. Later calls to csync_statedb_get_below_path
could still pull data about the excluded files into the remote tree.

That lead to incorrect behavior, such as uploads happening for folders
that had been explicitly excluded from sync.

To fix the problem, statedb_get_below_path is adjusted to not read the
data about excluded folders from the database.

Currently we can't wipe this data from the database outright because we
need it to determine whether the files in the excluded folder can be
wiped away or not.

See owncloud/enterprise#1965
2017-05-16 13:58:45 +02:00
..
src Selective sync: Skip excluded folders when reading db 2017-05-16 13:58:45 +02:00
tests Fix perl tests for sync journal db name 2016-11-25 13:21:34 +01:00
AUTHORS Move csync in order to merge it with mirall 2014-01-13 14:39:50 +01:00
ChangeLog Minor build etc typos 2015-09-10 13:20:11 +05:45
CMakeLists.txt Fix the UNIT_TESTING build on Windows 2017-02-14 14:32:41 +01:00
config_csync.h.cmake Don't use the StopWatch for each job in production builds #5456 2017-01-26 17:13:54 +01:00
config_test.h.cmake fix csync BINARYDIR and SOURCEDIR 2014-01-20 16:16:29 +01:00
ConfigureChecks.cmake Add TestSyncEngine and TestSyncFileStatusTracker auto tests 2016-08-17 15:39:30 +02:00
COPYING Move csync in order to merge it with mirall 2014-01-13 14:39:50 +01:00
CTestConfig.cmake Move csync in order to merge it with mirall 2014-01-13 14:39:50 +01:00
CTestCustom.cmake Move csync in order to merge it with mirall 2014-01-13 14:39:50 +01:00
DefineOptions.cmake Move csync in order to merge it with mirall 2014-01-13 14:39:50 +01:00
INSTALL Minor build etc typos 2015-09-10 13:20:11 +05:45
README Minor build etc typos 2015-09-10 13:20:11 +05:45

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

WHAT IS CSYNC?
==============

csync is a lightweight utility to synchronize files between two directories on
a system or between multiple systems.

It synchronizes bidirectionally and allows the user to keep two copies of files
and directories in sync. csync uses widely adopted protocols, such as smb or
sftp, so that there is no need for a server component. It is a user-level
program which means you dont need to be a superuser or administrator.

CONTRIBUTIONS
=============

If you want to contribute to the development of the software then please join
the mailing list. Patches are accepted preferably created with git and we are
always glad to receive feedback or suggestions to the address
csync-devel@csync.org.
More information on the various mailing lists can be found at
http://www.csync.org/communication/.

You can also get the sourcecode straight from the git repository - see
http://git.csync.org/

DOCUMENTATION
=============

As a user you can find a userguide which is shipped with this package or is
available at the website. For developers there is doxygen documentation and
comments in the source code itself. See

http://www.csync.org/userguide/
and
http://www.csync.org/api/