Hi, i have from time to time a very strange problem.
In the library there are folders where nobody change something, but seafile made new files like there are file conflicts.
This is not good and confused the users.
I have the same problem when i unsync und sync a folder again, there are many file conflicts on files where not changed from anyone.
Unsyncing and syncing can cause conflicts when the local file is different from the one on the server.
And this is the problem, nobody open or changed this files. This files are years old.
I think it has something to do with the trouble of many files in libraries.
It looks that the background scanning of the files often incur these conflicts.
Can you do a simple test?
1. Find one or a few of those mistakenly conflicted files
2. Create a new library
3. Put the files into this new library on one client
4. Copy the files to another client machine with a USB disk or something similiar
5. Use the "sync with existing folder" feature on the other machine to sync the new library
Does this creates conflict files? If so, can you send me one of the files for debugging? Otherwise I can't debug the problem.
On the next conflict files, i will try this.
I do as you written, now i have the logs. I send you a mail.
I found what the problem is. It's not caused by Seafile, it's caused by Excel. Everytime you open an excel file, Excel updates some part of the file (perhaps a timestamp). So the file is really updated and differs from the original one. I have confirm this with diff program on Linux.
This is only right when files are open and closed with saving. For the test i copied only the files without open it.
How can then get some diff in the files?
@Semmelbroesel24 Not quite, @killing is right about this one. Excel alters files upon open even if you don't specifically save them (I think it updates some file metadata). I had to deal with this nuisance before where SVN was used to sync files between users in a work environment.
I never heared about that, but if this true. How can sync then work? When seafile copy the files to side B and then the file will change itself.
Sorry that i write again. I will not nerv you killing, i will only help to find the bugs.
But there must be an bug in sync and conflict file system.
Follow i found. A server 2008 r2 (Client 2.0.8) is sync a folder to the seafile server 2.0.4 in this folder is a access file. This file can only open from one person! Because you need Access to open this file. Access is only on 1 PC. But i found now 3 files on the Server all modified from the Server it self. Sorry guys, but when only one user can open the file. Why do seafile made copies from this file? How can this happen? I don't unsync this folder or do something else with this folder :-(
The big problem is, that seafile changes the good file to a copy (file.txt -> file (email@example.com).txt) and the old file is then the good file :-( this is terrible. The User open then the old file and called me that his changed are away. In reality the good file is changed to the copy. I see this so often in the last weeks. I hope you understand what i mean.
For the former problem, you must have opened the file on side A after copying it to USB disk. And then you sync on side B, so a conflict file was produced.
If you read closer, you should find the first and the second db's size is different, so they must have been changed. You can find a diff program for Windows to check whether the three files are the same.
On the former problem i write it not good enough. I copied the both exel files o side A the i copied the same booth files on side B without open it, then i synced one side B this folder. And seafile marked both files as not the same and made copies from the files. I send you the files, just try it.
This can't be the problem, as I write the file can only open on one side. The file is open from the user over network, no other can open the same file, because Access is only one this PC. The user save the file, normally the seafile client merge the file with the seafile server. But there is a Change between the file on the Server und the local file System where normaly no file change can be. Under both blackline stand (Server@.....de 2013). You are right when a other user open the same file, then it will be made this changes. But how can i be when nobody can open the file one more? I think this happens when the client scan the folders again and again. As i write the problem with scaning the folders again and again still exists.
The probem still exsits in version 2.1 too. I update the client from 2.0.8 to 2.1 in some folders after the index works again from client 2.1 some files are copied with the name of the server and clients. I diff this excel files all files are the same. I often see this problem if i close the client an start again an with a time near of the restart of the client files are marked as a changed file from both location. But in the night at 3 o'clock no one work so why he think this files are changed.
The problem still exists. If there is a new file or filechange on the server and the client has opened this file, a conflict is generated. I am using the latest versions 3.1.5 on the client side and 3.1.4 on the server side.
It's easy to reproduce with bigger files. I have only tested one way (linux client (test-linux) -> linux server -> two windows clients (test-windows1 and test-windows2))
I am changing a test file (test-random) by appending random data to it on the linux-client only.
dd if=/dev/urandom bs=1M count=100 >>test-random ; md5sum test-random
On the windows clients I am executing the following command.
while true; do md5sum.exe test/test-random ; sleep 1; done
In my tests the test-window1 client worked as expected. Sync was executed by chance during sleep period.
The test-windows2 client worked fine till the first "conflict" was generated. After this every the test-windows2 client creates conflicts on every change and names it "test-random (test-linux...".
The test-windows1 client worked fine and keep the updated from test-linux in test-random file.