Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/owncloud/client.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2019-03-20Upload: asynchronious operationsOlivier Goffart
Implements https://github.com/owncloud/core/pull/31851
2018-12-19Discovery: Set right direction when restoring deleted discovery because it ↵Olivier Goffart
has modified files (Catched by a faillure of t1.pl)
2018-11-08Test that the sync behave well if there are errors while reading the databaseOlivier Goffart
2018-11-06Merge remote-tracking branch 'origin/2.5' into masterOlivier Goffart
Conflicts: src/libsync/propagateuploadng.cpp test/CMakeLists.txt
2018-11-06Test: Add test for locked file tracking and propagationChristian Kamm
2018-10-09New Discovery Algorithm: Ge tthe size of new foldersOlivier Goffart
Also add a test that this works properly
2018-09-14Merge remote-tracking branch 'owncloud/master' into delta-syncOlivier Goffart
Conflicts: .gitmodules src/cmd/cmd.cpp src/gui/generalsettings.ui src/libsync/propagatedownload.cpp src/libsync/propagateuploadng.cpp
2018-08-31Move the checksum related routine from FileSystem to checksum, where they belongOlivier Goffart
2018-07-25Added test that checks what happens when there is an error in the remote ↵Olivier Goffart
discovery (Many of the expected error string are left empty because the current error message is not insterresting
2018-07-25Convert p7.pl to a C++ testOlivier Goffart
This is just a translation of test/scripts/txpl/t7.pl to C++ using the test framework.
2018-05-23Rename Placeholders to Virtual Files in code #6531Christian Kamm
2018-04-19LocalDiscoveryTracker: Separate from Folder and move to libsyncChristian Kamm
To allow relevant code to be closer together and for testing in unittests without having to get a gui Folder. See #6120
2018-04-18Merge remote-tracking branch 'origin/master'Christian Kamm
2018-04-18Merge branch 'placeholder-prototype'Christian Kamm
2018-04-18Add a test for resuming downloadsOlivier Goffart
2018-04-18On-demand downloading: Placeholder-file based prototypeChristian Kamm
- Controled by an option. - New remote files start out as ItemTypePlaceholder, are created with a .owncloud extension. - When their db entry is set to ItemTypePlaceholderDownload the next sync run will download them. - Files that aren't in the placeholder state sync as usual. - See test cases in testsyncplaceholders. Missing: - User ui for triggering placeholder file download - Maybe: Going back from file to placeholder?
2018-03-28Blacklist: Add unittest #6411Christian Kamm
2018-02-26Move ClientProxy and ConnecitonValidator to guiOlivier Goffart
They are using the ConfigFile and are used to control when to sync rather than for the sync itself
2018-01-30Merge remote-tracking branch 'ahmedammar/master' into delta-syncChristian Kamm
2018-01-15Implementation of delta-sync support on client-side.Ahmed Ammar
This commit adds client-side support for delta-sync, this adds a new 3rdparty submodule `gh:ahmedammar/zsync`. This zsync tree is a modified version of upstream, adding some needed support for the upload path and other requirements. If the server does not announce the required zsync capability then a full upload/download is fallen back to. Delta synchronization can be enabled/disabled using command line, config, or gui options. On both upload and download paths, a check is made for the existance of a zsync metadata file on the server for a given path. This is provided by a dav property called `zsync`, found during discovery phase. If it doesn't exist the code reverts back to a complete upload or download, i.e. previous implementations. In the case of upload, a new zsync metadata file will be uploaded as part of the chunked upload and future synchronizations will be delta-sync capable. Chunked uploads no longer use sequential file names for each chunk id, instead, they are named as the byte offset into the remote file, this is a minimally intrusive modification to allow fo delta-sync and legacy code paths to run seamlessly. A new http header OC-Total-File-Length is sent, which informs the server of the final expected size of the file not just the total transmitted bytes as reported by OC-Total-Length. The seeding and generation of the zsync metadata file is done in a separate thread since this is a cpu intensive task, ensuring main thread is not blocked. This commit closes owncloud/client#179.
2018-01-13Modernize out CMakeLists.txtOlivier Goffart
Mainly uses target_include_directories instead of include_directories so libraries public include directory get automatically added when adding the target in target_link_library
2018-01-13Build system: Get rid of QtVersionAbstraction.cmakeOlivier Goffart
Use modern cmake with target_link_libraries and Qt5:: that automatically add the include path and compile flags
2017-12-15Upload conflict files #4557Christian Kamm
If the server has the 'uploadConflictFiles' capability conflict files will be uploaded instead of ignored. Uploaded conflict files have the following headers set during upload OC-Conflict: 1 OC-ConflictBaseFileId: 172489174instanceid OC-ConflictBaseMtime: 1235789213 OC-ConflictBaseEtag: myetag when the data is available. Downloads accept the same headers in return when downloading a conflict file. In the absence of server support clients will identify conflict files through the file name pattern and attempt to deduce the base fileid. Base etag and mtime can't be deduced though. The upload job for a new conflict file will be triggered directly from the job that created the conflict file now. No second sync run is necessary anymore. This commit does not yet introduce a 'username' like identifier that automatically gets added to conflict file filenames (to name the files foo_conflict-Fred-1345.txt instead of just foo_conflict-1345.txt).
2017-10-27Merge remote-tracking branch 'origin/2.4'Christian Kamm
2017-10-24Windows: Add sync folders to Explorer's navigation paneJocelyn Turcotte
This is only the navigation pane, the SyncRootManager entries aren't handled yet. This follows the instructions from: https://msdn.microsoft.com/en-us/library/windows/desktop/dn889934%28v=vs.85%29.aspx Issue #5295
2017-10-24Reconcile: Rename handling fixes: duplicate file idsChristian Kamm
When users share the same tree several times (say A/ and A/B/ are both shared) the remote tree can have several entries that have the same file id. This needs to be respected in rename detection. Also adds several tests and fixes for issues noticed during testing. See #6096
2017-09-28Test OAuth2Olivier Goffart
Include a test for PR #6057
2017-09-26Use SyncJournalDb in csyncJocelyn Turcotte
This gets rid of the csync_statedb sqlite layer and use the same code and same connection as the rest of the SyncEngine. Missing functions are added to SyncJournalDb and change a few minor things (like changing SyncJournalFileRecord::_modtime to be an int64 instead of a QDateTime, like it was in csync).
2017-08-22Move csync to src/csyncJocelyn Turcotte
2017-08-22Move csync/tests to test/csyncJocelyn Turcotte
2017-07-07Introduce private link sharing #5023Christian Kamm
* SocketAPI has COPL_LOCAL_LINK / EMAIL_LOCAL_LINK commands * The nautilus and dolphing shell integrations show a submenu from which one can share as well as access the private link. * The SocketAPI provides a new GET_STRINGS command to access localized strings. * The private link can also be accessed from the user/group sharing dialog. * The numeric file id is extracted from the full id to create the private link url.
2017-06-22CSyncSqliteTest: Fix testMarkus Goetz
2017-04-20Require Qt5Olivier Goffart
2017-02-15Folder: Keep files option after aboutToRemoveAllFiles should not clear ↵Olivier Goffart
selective sync list (#5531) We were removing the wholme journal db when the user wanted to keep all files, But that would also remove the selective sync lists. We should only remove the metadata table. Issue #5484
2017-02-14Disable tests uncompatible with Qt4 for that buildJocelyn Turcotte
2017-02-07Revert "Disable RTTI"Markus Goetz
This reverts commit 85d3de15898385a06b2f34479e875c885e5df6be. This breaks our old Qt on CentOS. We can re-introduce this with #5470
2017-01-26Tests: Add a large sync benchmarkJocelyn Turcotte
This simulates a ~50k files sync that can be used to measure memory usage without having to wait for a server.
2017-01-17Disable RTTIMarkus Goetz
Shrinks owncloud binary by 24 KB and libowncloudsync by 14 KB. I don't know if it has influence on memory usage or runtime speed though. Was worth a try.
2017-01-13Reset stuck chunked uploads eventually #5344 (#5443)ckamm
Previously this wasn't happening for errors that were not NormalErrors because they don't end up in the blacklist. This revises the resetting logic to be independent of the error blacklist and make use of UploadInfo::errorCount instead. 412 errors should reset chunked uploads because they might be indicative of a checksum error. Additionally, server bugs might require that additional errors cause an upload reset. To allow that, a new capability is added that can be used to advise the client about this.
2016-10-31ChunkingNG: Add TestOlivier Goffart
2016-10-13QProgressIndicator: update copy from upstreamOlivier Goffart
Update from commit 05ce8a23cdc12e825532dc6de06c267fb8d48b4f from https://github.com/dragotin/QProgressIndicator Which itself is forked from commit e5ba0fd09bfd43b067ee3646d70b294c7efcb558 from upstream, with additional license header. It was relicensed to MIT according to https://github.com/mojocorp/QProgressIndicator/commit/14bb9d10e29407175fdf4b9f03ed9cc7bb124f93 Relates to issues #5180 and #5184
2016-08-18Fix the Qt4 unit testing buildJocelyn Turcotte
2016-08-17Add TestSyncEngine and TestSyncFileStatusTracker auto testsJocelyn Turcotte
To be able to test the SyncEngine efficiently, a set of server mocking classes have been implemented on top of QNetworkAccessManager. The local disk side hasn't been mocked since this would require adding a large abstraction layer in csync. The SyncEngine is instead pointed to a different temporary dir in each test and we test by interacting with files in this directory instead. The FakeFolder object wraps the SyncEngine with those abstractions and allow controlling the local files, and the fake remote state through the FileModifier interface, using a FileInfo tree structure for the remote-side implementation as well as feeding and comparing the states on both side in tests. Tests run fast and require no setup to be run, but each server feature that we want to test on the client side needs to be implemented in this fake objects library. For example, the OC-FileId header isn't set as of this commit, and we can't test the file move logic properly without implementing it first. The TestSyncFileStatusTracker tests already contain a few QEXPECT_FAIL for what I esteem being issues that need to be fixed in order to catch up on our test coverage without making this patch too huge.
2016-04-29LockWatcher: Keep an eye on Windows file locks (#4758)ckamm
When a conflict-rename or a temporary-rename fails, notify the LockWatcher. It'll regularly check whether the file has become accesible again. When it has, another sync is triggered. owncloud/enterprise#1288
2016-04-21Use QTokenizer to properly parse netrcDaniel Molkentin
Addresses #4691
2016-04-12Fix unit test buildChristian Kamm
2016-03-30Simplify the build of auto testsJocelyn Turcotte
Remove all configure_files: - Move all tests to cpp files - Use the QTEST_MAIN macro instead of a generated main.cpp - Include test*.moc in the cpp to let CMAKE_AUTOMOC call moc - Pass info through add_definitions instead of generating oc_bin.h with them This makes sure that build errors points to the original test source file instead of the generated one in the build directory to be able to jump and fix errors directly from the IDE's error pane.
2015-11-23Rename filesChristian Kamm
2015-10-28Merge branch 'kill_legacy_propagator'Markus Goetz
2015-10-22test/CMakeLists.txt: remove commentsOlivier Goffart