{"push_id":3150315199,"size":246,"distinct_size":3,"ref":"refs/heads/vfs-pinstate","head":"a9658ba9f13c681e19434f0283d0b2da81125faf","before":"706f284e3f929415cea6d361e2f379eaf35d8242","commits":[{"sha":"e7ef50a7cae155b5bace91abec626591242e7075","author":{"name":"Ahmed Ammar","email":"6ed729c36e27ec481daea308c8dc821544535dc1@gmail.com"},"message":"Add Capabilities::zsyncSupportedVersion function.","distinct":false,"url":"https://api.github.com/repos/owncloud/client/commits/e7ef50a7cae155b5bace91abec626591242e7075"},{"sha":"95861212f8977f0e4fd6990b49e25c9805d5ecac","author":{"name":"Ahmed Ammar","email":"6ed729c36e27ec481daea308c8dc821544535dc1@gmail.com"},"message":"Add support to update ProgressInfo item size.","distinct":false,"url":"https://api.github.com/repos/owncloud/client/commits/95861212f8977f0e4fd6990b49e25c9805d5ecac"},{"sha":"12aeb890c9a6ad329e3612ebb96d843d70e413c9","author":{"name":"Ahmed Ammar","email":"6ed729c36e27ec481daea308c8dc821544535dc1@gmail.com"},"message":"Implementation of delta-sync support on client-side.\n\nThis commit adds client-side support for delta-sync, this adds a new\n3rdparty submodule `gh:ahmedammar/zsync`. This zsync tree is a modified\nversion of upstream, adding some needed support for the upload path and\nother requirements.\n\nIf the server does not announce the required zsync capability then a\nfull upload/download is fallen back to. Delta synchronization can be\nenabled/disabled using command line, config, or gui options.\n\nOn both upload and download paths, a check is made for the existance of\na zsync metadata file on the server for a given path. This is provided\nby a dav property called `zsync`, found during discovery phase. If it\ndoesn't exist the code reverts back to a complete upload or download,\ni.e. previous implementations. In the case of upload, a new zsync\nmetadata file will be uploaded as part of the chunked upload and future\nsynchronizations will be delta-sync capable.\n\nChunked uploads no longer use sequential file names for each chunk id,\ninstead, they are named as the byte offset into the remote file, this is\na minimally intrusive modification to allow fo delta-sync and legacy\ncode paths to run seamlessly. A new http header OC-Total-File-Length is\nsent, which informs the server of the final expected size of the file\nnot just the total transmitted bytes as reported by OC-Total-Length.\n\nThe seeding and generation of the zsync metadata file is done in a\nseparate thread since this is a cpu intensive task, ensuring main thread\nis not blocked.\n\nThis commit closes owncloud/client#179.","distinct":false,"url":"https://api.github.com/repos/owncloud/client/commits/12aeb890c9a6ad329e3612ebb96d843d70e413c9"},{"sha":"110ce283d8153e2f835b641297b63386deebaed3","author":{"name":"Christian Kamm","email":"1d6e1cf70ec6f9ab28d3ea4b27a49a77654d370e@ckamm.de"},"message":"Merge remote-tracking branch 'ahmedammar/master' into delta-sync","distinct":false,"url":"https://api.github.com/repos/owncloud/client/commits/110ce283d8153e2f835b641297b63386deebaed3"},{"sha":"aaf0d96d31a0c57ab4a63745b9558031c5de899d","author":{"name":"Christian Kamm","email":"1d6e1cf70ec6f9ab28d3ea4b27a49a77654d370e@ckamm.de"},"message":"Fix compiler warning around ZsyncGenerateRunnable::_len","distinct":false,"url":"https://api.github.com/repos/owncloud/client/commits/aaf0d96d31a0c57ab4a63745b9558031c5de899d"},{"sha":"f724e813ed2fa5c5db57b5ab36211853b5c76d3a","author":{"name":"Christian Kamm","email":"1d6e1cf70ec6f9ab28d3ea4b27a49a77654d370e@ckamm.de"},"message":"ProgressDispatcher: Fix total completion computation","distinct":false,"url":"https://api.github.com/repos/owncloud/client/commits/f724e813ed2fa5c5db57b5ab36211853b5c76d3a"},{"sha":"0f2447d93aee6dd115da99982ef6b55436dc0cb8","author":{"name":"Christian Kamm","email":"1d6e1cf70ec6f9ab28d3ea4b27a49a77654d370e@ckamm.de"},"message":"ProgressDispatcher: Fix overriding new size, add doc\n\nThe new call to updateTotalsForFile() would have no effect since each\nnew progress reporting and setProgressItem() call adjusted the per-file\ntotal back to item._size.","distinct":false,"url":"https://api.github.com/repos/owncloud/client/commits/0f2447d93aee6dd115da99982ef6b55436dc0cb8"},{"sha":"e8147dd374c7e603a8f0a4ddf5b9147645ad353b","author":{"name":"Christian Kamm","email":"1d6e1cf70ec6f9ab28d3ea4b27a49a77654d370e@ckamm.de"},"message":"PropagateUpload: Fix chunk offset integer truncation","distinct":false,"url":"https://api.github.com/repos/owncloud/client/commits/e8147dd374c7e603a8f0a4ddf5b9147645ad353b"},{"sha":"25a3ce1dbfd395a7a79015808ae73234ec8196af","author":{"name":"Christian Kamm","email":"1d6e1cf70ec6f9ab28d3ea4b27a49a77654d370e@ckamm.de"},"message":"PropagateUpload: Rename currentChunk, add doc\n\ncurrentChunk -> currentChunkOffset\n\nAlso remove redundant assignment to currentChunkOffset.","distinct":false,"url":"https://api.github.com/repos/owncloud/client/commits/25a3ce1dbfd395a7a79015808ae73234ec8196af"},{"sha":"cd7ba1ec4c6c40666ac2f0d64fbfbeffac8df053","author":{"name":"Christian Kamm","email":"1d6e1cf70ec6f9ab28d3ea4b27a49a77654d370e@ckamm.de"},"message":"zsync: Free buffer in error case","distinct":false,"url":"https://api.github.com/repos/owncloud/client/commits/cd7ba1ec4c6c40666ac2f0d64fbfbeffac8df053"},{"sha":"53f9a3a43bef858dadab4a6820ae11afae0b4109","author":{"name":"Christian Kamm","email":"1d6e1cf70ec6f9ab28d3ea4b27a49a77654d370e@ckamm.de"},"message":"PropagateZsync: Fix requesting ranges exceeding file size","distinct":false,"url":"https://api.github.com/repos/owncloud/client/commits/53f9a3a43bef858dadab4a6820ae11afae0b4109"},{"sha":"cc3304364db78bf63ecef8c067bbf67744339825","author":{"name":"Christian Kamm","email":"1d6e1cf70ec6f9ab28d3ea4b27a49a77654d370e@ckamm.de"},"message":"Zsync tests: Fix and improve GET test\n\nIt was sending way too much data (begin-of-range until end of file) and\nnot verifying that the final file actually had the expected contents.","distinct":false,"url":"https://api.github.com/repos/owncloud/client/commits/cc3304364db78bf63ecef8c067bbf67744339825"},{"sha":"73ecf4a043b80b965250438f300e572ed51f7c9b","author":{"name":"Christian Kamm","email":"1d6e1cf70ec6f9ab28d3ea4b27a49a77654d370e@ckamm.de"},"message":"Zsync upload: Fix range computation\n\nOn non block-aligned appends to local files overlapping upload ranges\nwould be computed.","distinct":false,"url":"https://api.github.com/repos/owncloud/client/commits/73ecf4a043b80b965250438f300e572ed51f7c9b"},{"sha":"6052bc7d8a88d5314757ac87cda4a2b52371b2a1","author":{"name":"Christian Kamm","email":"1d6e1cf70ec6f9ab28d3ea4b27a49a77654d370e@ckamm.de"},"message":"Zsync upload: Fix early MOVE\n\n_rangesToUpload and _sent were adjusted when the PUT job started instead\nof at the end. Since the condition for whether to attempt the final MOVE\nwas _rangesToUpload.isEmpty() this lead to the MOVE being done too early\nin some cases.","distinct":false,"url":"https://api.github.com/repos/owncloud/client/commits/6052bc7d8a88d5314757ac87cda4a2b52371b2a1"},{"sha":"dbbe453a544fba91a355e4f47e9cc68b2bfc0a1d","author":{"name":"Christian Kamm","email":"1d6e1cf70ec6f9ab28d3ea4b27a49a77654d370e@ckamm.de"},"message":"Zsync upload: Fix job getting stuck\n\nIf existing chunks on the server needed to be deleted, the whole job\ncould get stuck if the zsync metadata upload was running when the last\ndelete job finished.\n\nThe new code checks whether all delete jobs have finished instead of\njust checking for running jobs.","distinct":false,"url":"https://api.github.com/repos/owncloud/client/commits/dbbe453a544fba91a355e4f47e9cc68b2bfc0a1d"},{"sha":"727ae10bcf3d90aa50ead84873360a373bf4edb7","author":{"name":"Christian Kamm","email":"1d6e1cf70ec6f9ab28d3ea4b27a49a77654d370e@ckamm.de"},"message":"Zsync upload: Fix broken assert\n\nIf the last upload finished before the zsync metadata upload was done\nwe'd run into an assert. This fixes the assert and moves it to a better\nplace.","distinct":false,"url":"https://api.github.com/repos/owncloud/client/commits/727ae10bcf3d90aa50ead84873360a373bf4edb7"},{"sha":"74f46d470beeb9d1f8ec7e15a939d4c97aa614e4","author":{"name":"Christian Kamm","email":"1d6e1cf70ec6f9ab28d3ea4b27a49a77654d370e@ckamm.de"},"message":"Zsync upload: Add unit tests for file growth and shrinkage\n\nNo matter whether it's aligned to zsync blocksize or not.","distinct":false,"url":"https://api.github.com/repos/owncloud/client/commits/74f46d470beeb9d1f8ec7e15a939d4c97aa614e4"},{"sha":"f743219d61a7b62c77029ebba4ddf34f2893a508","author":{"name":"Christian Kamm","email":"1d6e1cf70ec6f9ab28d3ea4b27a49a77654d370e@ckamm.de"},"message":"zsync: Use new zsync metadata API\n\nThis removes various low-level zsync code that was copied into the\nclient because there was no API previously.","distinct":false,"url":"https://api.github.com/repos/owncloud/client/commits/f743219d61a7b62c77029ebba4ddf34f2893a508"},{"sha":"d1d6c48cd2714ab2e0f4389101d79fab72359c5e","author":{"name":"Christian Kamm","email":"1d6e1cf70ec6f9ab28d3ea4b27a49a77654d370e@ckamm.de"},"message":"zsync: Use 8 byte rsum","distinct":false,"url":"https://api.github.com/repos/owncloud/client/commits/d1d6c48cd2714ab2e0f4389101d79fab72359c5e"},{"sha":"e759f89c7d2cdf5851deb37a1873d637be5b3694","author":{"name":"Christian Kamm","email":"1d6e1cf70ec6f9ab28d3ea4b27a49a77654d370e@ckamm.de"},"message":"zsync: Adjust use of zsync includes\n\n* Only in cpp files\n* Include early (on windows, winsock2.h should go before windows.h)","distinct":false,"url":"https://api.github.com/repos/owncloud/client/commits/e759f89c7d2cdf5851deb37a1873d637be5b3694"}]}
{"actor":{"display_login":"ckamm"}}