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-02-14Ensure local discovery on selective sync changesloai_docsChristian Kamm
As far as I'm aware local discovery can be skipped on folders that are selective-sync blacklisted, so a local discovery is required when an entry is removed from the blacklist. Also rename avoidReadFromDbOnNextSync() -> schedulePathForRemoteDiscovery() since the old name might also imply it's not read from db in the local discovery - which is not the case. Use Folder:: schedulePathForLocalDiscovery() for that.
2019-02-11PinStates cleanupChristian Kamm
- SyncJournalDB functions now behind internalPinStates() to avoid accidental usage, when nearly everyone should go through Vfs. - Rename Vfs::getPinState() to Vfs::pinState()
2019-01-18vfs: Allow retrieving of pin state paths and flagsChristian Kamm
2019-01-18vfs: Allow (de-)hydrating the full sync folderChristian Kamm
2019-01-07Db: Add wiping of pin state for subtreesChristian Kamm
2019-01-07vfs: Remove newFilesAreVirtual - use root PinState insteadChristian Kamm
This unifies how to deal with pin states. Also enable reading a folders direct pin state vs its effective pin state.
2018-12-19vfs: Introduce PinState db storage #6815Christian Kamm
The idea is to allow folders (and later maybe files?) to be - pinned to be available locally - pinned to be online only - inherit their pin from the parent Where this pinning only controls the default for new files. Subfolders may have a different pin state, and contained files may be hydrated or dehydrated based on user actions. This value is stored in a new 'flags' table. The idea is to store data there that doesn't necessarily exist for each metadata entry. The selective sync state could be migrated to this table.
2018-11-15Sync: optimize by removing setFileRecordMetadataOlivier Goffart
Inh most case we already have a record from before, so avoid doing a useless lookup in the database. In owncloudpropagator.cpp, directories do not have a checksum so no need to call a function that preserves it
2018-08-31Private links: improve legacy fileid derivation #6745Christian Kamm
2018-08-16RemotePermissions: Fix empty vs nullChristian Kamm
Fixes two bugs that appeared since the introduction of the struct: - when reading permissions from the journal, null ("") was read as empty-not-null - when reading permissinos from the server, empty ("") was read as null Addresses #4608
2018-02-16Merge remote-tracking branch 'origin/2.4'Christian Kamm
2018-02-15SyncJournal: Don't use LIKE with pathsChristian Kamm
Paths can contain the wildcards % and _ and that would lead to odd behavior. This patch also clarifies the behavior of avoidReadFromDbOnNextSync() which previously dependend on whether "foo/bar" or "foo/bar/" was passed as input. Possibly affects #6322
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-12-15Unify item type enumChristian Kamm
Previously, there was csync_ftw_type_e and SyncFileItem::Type. Having two enums lead to a bug where Type::Unknown == Type::File that went unnoticed for a good while. This patch keeps only a single enum.
2017-12-12Journal: 64bit inodes, fix storing uint64s generallyChristian Kamm
In addition to using the right function when retrieving inodes this *also* fixes a more general bug ownsql had with storing uint64 values that didn't fit into an int64.
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-09-26SyncJournalDB: Allow callers of getFileRecord if the query failedJocelyn Turcotte
The current implementation would return the same value whether the query failed or if no row would be found. This is something that is currently checked by csync and needs to be provided if we want to use SyncJournalDB there. Adjusted all call sites to also check the return value even though they could still just rely on rec.isValid(), but makes it more explicit as to what happens for database errors in those cases, if we ever want to gracefully handle them.
2017-09-22RemotePermissions: Store in a class rather than in a QByteArray to save memoryOlivier Goffart
Create a specific type that parses the permissions so we can store it in a short rather than in a QByteArray Note: in RemotePermissions::toString, we make sure the string is not empty by adding a space, this was already existing before commit e8f7adc7cacd4f55e26b2dd14464654e82204307 where it was removed by mistake.
2017-09-18Move SyncJournalDB to src/commonJocelyn Turcotte
2017-09-05Add minor unittest for numeric id extraction #5933Christian Kamm
2017-08-22Move csync to src/csyncJocelyn Turcotte
2017-07-12Merge remote-tracking branch 'origin/2.3'Christian Kamm
2017-07-03TestSyncJournalDB: Fix concurrent usage on CIMarkus Goetz
2017-06-15Compare the hash of files with identical mtime/size #5589Christian Kamm
* For conflicts where mtime and size are identical: a) If there's no remote checksum, skip (unchanged) b) If there's a remote checksum that's a useful hash, create a PropagateDownload job and compute the local hash. If the hashes are identical, don't download the file and just update metadata. * Avoid exposing the existence of checksumTypeId beyond the database layer. This makes handling checksums easier in general because they can usually be treated as a single blob. This change was prompted by the difficulty of producing file_stat_t entries uniformly from PROPFINDs and the database.
2016-11-23Bugfixes for sync journal name generation and usageChristian Kamm
* Use 'user' value for journal name generation * Save journal name in settings * Make owncloudcmd choose the right db
2016-07-17Fix tests for syncjournaldbKlaas Freitag
2016-05-12For tests we do not need a xserver running.Hefee
Use for tests QTEST_GUILESS_MAIN and QTEST_APPLESS_MAIN.
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.