💻 Desktop sync client for Nextcloud
Find a file
Olivier Goffart eb38f5beb1 Don't reset the md5 if the mtime change locally.
Consider this case when one creates a file with an invalid filename (for
the server) in a directory in the local side.
say: foo/bar/%invalid%.txt

The following would happen:
- in the update for the local parent folder  foo/bar/, the md5 is 0
  because the mtime has changed
- During the reconcile, we try to send %invalid%, but there will be an
  error and nothing will be changed on the server, the etags stay the
  same
- We do not do any PROPFIND at the end so we do not fetch the etag
  anymore.  The md5 is still 0 and will be saved like that in the DB
- Next run, since the etags have  not changed on the server, we read
  from the DB.  But a md5 of 0 in the DB means the folder was removed on
  the server.  That would remove the local folder (BAD!)

So we load the md5 from the db even if the local mtime change.
That means we need to compare the mtime in the local case rather than
the md5 to see if something has changed.
2013-04-24 14:09:20 +02:00
build build: Add an option for clang. 2012-10-22 11:21:18 +02:00
client iconv support 2012-12-07 13:03:01 +01:00
cmake Set path shortcuts for win32 as well. 2013-01-21 13:38:33 +01:00
config Allow to configure the timeout in the config 2013-02-06 18:38:46 +01:00
doc Merge remote-tracking branch 'origin/master' into dav 2012-12-03 17:32:08 +01:00
modules In case of error dirring a rename, mark the source as updated 2013-02-12 15:11:15 +01:00
src Don't reset the md5 if the mtime change locally. 2013-04-24 14:09:20 +02:00
tests Do not compile lock test for win32. 2012-12-10 21:15:45 +01:00
.gitattributes Add git metadata files 2012-10-18 13:44:28 +02:00
.gitignore updated .gitignore 2011-04-06 17:08:14 +02:00
.tag Add git metadata files 2012-10-18 13:44:28 +02:00
AUTHORS Update AUTHORS. 2012-02-22 18:27:16 +01:00
ChangeLog Set version to 0.70.3 plus ChangeLog 2013-01-24 10:39:42 +01:00
CMakeLists.txt Set version to 0.70.3 plus ChangeLog 2013-01-24 10:39:42 +01:00
config.h.cmake Check if neon was built with LFS support. 2013-01-09 15:03:20 +01:00
config_test.h.cmake Added missing config_test.h input file. 2012-07-20 10:52:30 +02:00
ConfigureChecks.cmake Check for timegm and set a config variable accordingly. 2012-11-08 14:50:08 +01:00
COPYING Add license file. 2008-02-29 17:50:52 +01:00
CPackConfig.cmake Set version to 0.70.3 plus ChangeLog 2013-01-24 10:39:42 +01:00
CTestConfig.cmake cmake: Update ctest config. 2012-09-25 14:51:29 +02:00
CTestCustom.cmake Add a custom ctest config to ignore the jhash check. 2008-03-03 13:43:12 +01:00
DefineOptions.cmake Do not compile with iconv on windows 2012-12-07 23:12:37 +01:00
INSTALL doc: Remove all references to log4c. 2012-10-30 11:27:21 +01:00
README Update README. 2012-02-04 13:41:17 +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/