Klaas Freitag
41fa562dce
blacklisting: disable broken remove stale entries function for now.
2014-10-03 11:35:18 +02:00
Klaas Freitag
06c48f58cc
SyncEngine: Use proper start indicator, max unit64.
...
This avoids a warning.
2014-09-30 12:29:24 +02:00
Klaas Freitag
172295289e
Permissions: If a top level shared dir is removed, do not restore files in it
...
A top level shared dir can always be removed on the client, even if it is
read only shared. In that case, the removal means "unsharing". Fixed the
permission check accordingly.
See bug #1918 for more information.
2014-09-25 15:39:14 +02:00
Klaas Freitag
2c67a7ca71
progress: Set a clear start indication in the progress.
...
Before, 0 was used to indicate the sync start which wipes the activity
window. However, if there _are_ no synced items but only ignored items
the overall counter stays zero which wipes the list all the time.
This fixes bug #2171
2014-09-23 15:58:06 +02:00
Christian Kamm
a88ac00115
SyncEngine: Better reporting when ignoring hardlinks. #2217
...
Also touch csync to actually let us know it's ignoring the file
due to it having hard links.
2014-09-18 11:32:29 +02:00
Olivier Goffart
a84b7dc27e
Restart the sync when we detect we need to redo a sync
...
Fixes #1968
Relates #2038
2014-09-10 17:27:33 +02:00
Olivier Goffart
71408bab60
I forgot to rename one of the while list to the blacklist
2014-09-10 11:01:38 +02:00
Christian Kamm
5d36a27893
Clean up stale journal entries and temporaries. #2057
...
* Downloadinfo entries for files that no longer need to be downloaded
are useless and can be removed. In particular, the temporary files
holding partially retrieved files are now deleted when no longer
necessary.
* The same is true for blacklist entries for paths that are no longer
being discovered.
* Same for uploadinfos for files that no longer need to be uploaded.
2014-09-04 13:14:15 +02:00
Olivier Goffart
aabcf80774
Sync engine: Take also in account the fact that the instruction can be IGNORE on both tree
2014-08-21 11:33:38 +02:00
Olivier Goffart
936252765a
Merge branch 'master' into selective_sync
...
Conflicts:
src/mirall/syncengine.cpp
src/mirall/syncengine.h
2014-08-18 14:44:43 +02:00
Markus Goetz
88072a985a
SyncEngine & UI: Move QElapsedTimer to object
...
Using a function static is too dangerous when multiple threads are involved.
2014-08-15 16:20:43 +02:00
Markus Goetz
c27f151451
SyncEngine & UI: Make the function part of UpdateJob
...
That way we can easily emit UploadJob's signals
2014-08-15 16:11:51 +02:00
Markus Goetz
ce2741cebc
SyncEngine & UI: Progress notifications for update phase
...
For each directory (local and remote, we have UI update throtting code)
a signal is emitted.
It is used by the settings dialog and the tray menu.
2014-08-15 15:28:35 +02:00
Olivier Goffart
c1831f4946
Selective sync: use a black list instead of a white list
2014-08-15 12:29:10 +02:00
Olivier Goffart
4b2c1bacd1
Merge remote-tracking branch 'origin/master' into selective_sync
2014-08-15 10:28:50 +02:00
Klaas Freitag
32739cc305
SyncEngine: End the journal transaction after update.
2014-08-14 11:32:02 +02:00
Olivier Goffart
7e009667a2
Selective sync: ignore the files that are not in the selective sync white list
2014-08-11 18:42:24 +02:00
Olivier Goffart
1f1eb933d1
Move the update job in a new file named discoveryphase
...
"Discovery" is a better name than "update"
2014-08-11 18:42:24 +02:00
Olivier Goffart
95a77e5ccc
Merge branch 'il'
2014-08-07 14:29:27 +02:00
Olivier Goffart
21783ecef7
SyncEngine: fix permission detection of moves
...
Two problems:
- "M" was used instead of "V"
- The extraction of the parent folder of the destination was wrong
2014-08-07 14:27:27 +02:00
Olivier Goffart
6827f9977c
Merge branch 'il'
...
Conflicts:
doc/ocdoc
2014-08-07 12:15:50 +02:00
Markus Goetz
22c1629dd3
SyncEngine: Keep csync_journal with proper values for fileId and remotePerm
...
Before this patch, we had a lot of empty rows because we created
the SyncFileItems with the wrong(=local) data.
2014-08-07 10:14:14 +02:00
Klaas Freitag
0f4cf74ae0
SyncEngine: allow to do a post upgrade script in debug mode.
2014-07-22 18:07:02 +02:00
Olivier Goffart
2fdb3cfdfb
Merge branch 'il'
...
Conflicts:
src/mirall/folder.cpp
src/mirall/propagator_qnam.cpp
2014-07-16 10:49:16 +02:00
Olivier Goffart
8961e61f60
Merge branch '1.6' into il
...
Conflicts:
VERSION.cmake
src/mirall/syncengine.cpp
src/mirall/syncengine.h
2014-07-16 09:57:40 +02:00
Olivier Goffart
d697969f36
Use another way to detect that the server was reconfigured
...
Before, we would only detect it if all the files were removed, and no
file where added or changed. This may not be enough because there might
be a welcome.txt file. Now, we check that none of the file stays the same,
and some files are removed.
Relates issue #1948
2014-07-15 18:09:08 +02:00
Olivier Goffart
26e17f58ef
Engine: Do not reset the csync log callback in the engine
...
It is already set in Folder and we don't want to use the Logger
in command line clients
2014-07-09 22:44:08 +02:00
Olivier Goffart
081b7d4aa9
Merge pull request #1913 from owncloud/typo-fix
...
Typo fix
2014-07-01 20:39:30 +02:00
Olivier Goffart
9c3c4bac66
Merge remote-tracking branch 'origin/il'
2014-07-01 20:37:42 +02:00
Volkan Gezer
dd5296f03c
Typo fix
...
Suggested by [mnestis](https://www.transifex.com/accounts/profile/mnestis/ )
2014-06-29 14:06:45 +02:00
Olivier Goffart
2f284209d8
Permissions: When moving is not allowed, fallback to delete and upload
...
We decided that we never want to rename a directory behind the
back of the user as the user may be using files in the directory
during the sync.
If moving is not allowed, we just erase the inode form the database so
the next sync will try to do an upload and delete and recover from there
using normal resolution.
This also add some code to update the inode back to the db when it is detected
as changed.
2014-06-27 15:30:08 +02:00
Olivier Goffart
09881040a3
Permissions: fix restoring subdirectories
...
The sync item vector must be sorted before we call checkForPermission
2014-06-27 13:34:15 +02:00
Olivier Goffart
94ddf7e5d8
Merge remote-tracking branch 'origin/il'
2014-06-24 08:40:27 +02:00
Olivier Goffart
b735dc07d6
Permissions: Consider and empty remotePerms from csync as NULL
...
Since remotePerm from csync is never NULL (as it is a buffer),
we consider that if it is empty, there was no permission set
(and therefore everything is allowed)
csync will put a space in the permission if any permission was set
2014-06-23 15:05:48 +02:00
Olivier Goffart
e19214c3c4
permissions: record them even if the instruction is NONE
...
when the instruction is NONE, we may return from this function
before having registered the permission in the SyncEngine::_remotePerms
hash.
Move the code a bit up.
2014-06-23 13:35:34 +02:00
Olivier Goffart
b626589c07
Merge branch 'il'
...
Conflicts:
src/mirall/folderstatusmodel.h
2014-06-23 12:52:03 +02:00
Olivier Goffart
02704cdf74
Merge remote-tracking branch 'origin/1.6' into il
...
Conflicts:
VERSION.cmake
csync/src/csync_statedb.c
src/mirall/syncengine.cpp
src/mirall/syncfileitem.h
2014-06-23 12:48:34 +02:00
Daniel Molkentin
bbf8b9f8dd
syncengine: properly initialize all members in ctor
...
This fixes Coverity CID 12922
2014-06-20 13:28:52 +02:00
Olivier Goffart
f80816d88f
SyncEngine: silence coverity issue 12885
...
It was complaining that we use the context later in the function
but the csync context should never be null anyway
2014-06-20 11:53:22 +02:00
Olivier Goffart
02355696ff
engine: When restoring the file, use the mtime and fileid from the server
...
Important to switch the things around as we are going to write them in the DB
2014-06-18 16:15:14 +02:00
Olivier Goffart
0880444e37
Syncengine: Wait for the neon thead to be finished before destroying the Propagator and calling csync_commit
...
The legacy job might still need the neon session and the propagator.
We need to make sure the thread exits before.
This fixes crash when pausing a sync made with the legacy jobs
(for example when there is network limitation)
This should fix https://github.com/owncloud/enterprise/issues/200
2014-06-18 15:08:23 +02:00
Klaas Freitag
b71881d300
SyncEngine: Use QSet for the seenFiles rather than QHash.
...
We can save some memory here as the seenFiles list can be long.
2014-06-17 16:30:11 +02:00
Olivier Goffart
c759e8bb8f
permission: read them from the tree
2014-06-17 14:50:24 +02:00
Olivier Goffart
b83f6c0b3a
sync engine: try to respect permission
...
This is still Work in progress
2014-06-17 14:44:58 +02:00
Olivier Goffart
2caa69e0cb
blacklist: use the _ERROR instruction instead of _IGNORE
...
When something is in the blacklist, still use the _ERROR instruction
that way the applications can still report errors for blacklisted
items
2014-06-13 11:19:31 +02:00
Olivier Goffart
46b8260693
network limits: Do not read them from the config file in the engine
...
Do that from the folder, because the engine can be used in app where
the MirallConfigFile is not accessible
2014-06-07 12:09:22 +02:00
Markus Goetz
8dbfcd782b
CSync: Fetch permissions from server for whole tree on server update
2014-06-06 17:10:07 +02:00
Markus Goetz
70ff928381
CSync & statedb: Parse 'perm' from server
...
ownCloud 6 sends this.
2014-06-06 15:24:17 +02:00
Markus Goetz
4d4eab8b1c
CSync & Propagator: Support a direct download URL
...
This is for server file backends that support sending a
direct URL.
2014-06-03 14:55:34 +02:00
Markus Goetz
b8e20b412c
CSync: We can access the context directly
2014-06-03 11:51:12 +02:00