nextcloud-desktop/csync
Olivier Goffart 13f9970257 Fix some possible "Precondition Failed" bug
The problem was if there was a false conflict: the file has been touched
both on the server and the client.
 - etag has changed on the server
 - mtime has changed on the server and the client and is the same
 - and file size is the same on both the server and the client

This may also happen if the file is uploaded on the server, but the client
looses connection (or crashes) before it get notified of the etag.

In both tree, the instruction is EVAL, but we reduce it to a NONE because
we detected that the conflict is 'false'.  Still, we need to update the db
with the new etag.  (_should_update_db)
The problem was that we would set the flag on the wrong tree.
This was not a problem when the file was NEW on both side since  we checked
for null etag and used the other one then.
2014-06-03 12:23:30 +02:00
..
src Fix some possible "Precondition Failed" bug 2014-06-03 12:23:30 +02:00
tests delete dead code 2014-05-02 11:50:20 +02:00
AUTHORS Move csync in order to merge it with mirall 2014-01-13 14:39:50 +01:00
ChangeLog Make it compile with the merge of csync mirall 2014-01-15 12:20:03 +01:00
CMakeLists.txt Bump csync version. 2014-02-04 16:23:44 +01:00
config_csync.h.cmake Make NEON_WITH_LFS conditional to avoid build warnings. 2014-01-23 16:05:35 +01:00
config_test.h.cmake fix csync BINARYDIR and SOURCEDIR 2014-01-20 16:16:29 +01:00
ConfigureChecks.cmake For Windows, add the __USE_MINGW_ANSI_STDIO=1 switch 2014-03-05 15:39:49 +01: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 Move csync in order to merge it with mirall 2014-01-13 14:39:50 +01:00
README Move csync in order to merge it with mirall 2014-01-13 14:39:50 +01:00

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 preferebly 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/