summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* merge changes made on other repos into ExportTreeGravatar Joey Hess2017-09-18
| | | | | | | | | | | Now when one repository has exported a tree, another repository can get files from the export, after syncing. There's a bug: While the database update works, somehow the database on disk does not get updated, and so the database update is run the next time, etc. Wasn't able to figure out why yet. This commit was sponsored by Ole-Morten Duesund on Patreon.
* updateGravatar Joey Hess2017-09-18
|
* update for ExportTreeGravatar Joey Hess2017-09-18
| | | | | | | | | | | | | | | | | | Use ExportTree rather than ExportedLocation for retrieveKeyFile and checkPresent. When another remote exported the content, ExportTree will be populated, but ExportedLocation will not be. It would be possible to implement storeKey to exports as well, but it risks performing a lot of unncessary work when another repository already stored the key on the export and the local repository doesn't know about it. The only way to avoid that work would be for storeKey to use checkPresentExport before uploading. But, the other repository could have changed the exported tree as well, so that can't be trusted, and if it were used in storeKey, could result in bad information getting into the location log. This commit was sponsored by Bruno BEAUFILS on Patreon.
* update ExportTree table efficientlyGravatar Joey Hess2017-09-18
| | | | | | | Use same diff and key lookup except when the whole tree has to be scanned. This commit was sponsored by Peter Hogg on Patreon.
* add ExportTree table to export dbGravatar Joey Hess2017-09-18
| | | | | | | | | | | | New table needed to look up what filenames are used in the currently exported tree, for reasons explained in export.mdwn. Also, added smart constructors for ExportLocation and ExportDirectory to make sure they contain filepaths with the right direction slashes. And some code refactoring. This commit was sponsored by Francois Marier on Patreon.
* lock to avoid more than one export to a remote at a timeGravatar Joey Hess2017-09-18
| | | | This commit was sponsored by Jack Hill on Patreon.
* move tracking exports to designGravatar Joey Hess2017-09-18
|
* Merge branch 'master' of ssh://git-annex.branchable.comGravatar Joey Hess2017-09-18
|\
| * (no commit message)Gravatar git-annex.branchable.com.20170819@a1e3e0fb4b4d8d6d0cc766d28f5e375df29d82492017-09-18
| |
* | don't support removing content from export with removeKeyGravatar Joey Hess2017-09-17
|/ | | | | | | | There does not seem to be a use case for supporting that, and it would need a lot of complication to support it in a way that allows eventual consistency when two repositories are updating the same export. This commit was sponsored by Henrik Riomar on Patreon.
* Merge branch 'master' of ssh://git-annex.branchable.comGravatar Joey Hess2017-09-16
|\
* | clarificationGravatar Joey Hess2017-09-16
| |
* | design for next steps on exportsGravatar Joey Hess2017-09-16
| |
* | add example, including use of branch:subdir to export only a subdirGravatar Joey Hess2017-09-16
| |
* | add link to git-annex-remote-gvfs for smb / sftpGravatar Joey Hess2017-09-16
| |
| * Added a comment: Thanks!Gravatar gleachkr@7c488e398809299a1100b93f8884de43dee836742017-09-16
|/
* updateGravatar Joey Hess2017-09-16
|
* response for gleachkrGravatar Joey Hess2017-09-16
|
* Added a commentGravatar gleachkr@7c488e398809299a1100b93f8884de43dee836742017-09-16
|
* followup for gleachkrGravatar Joey Hess2017-09-16
|
* Added a comment: More data pointsGravatar gleachkr@7c488e398809299a1100b93f8884de43dee836742017-09-16
|
* split out Types.ExportGravatar Joey Hess2017-09-15
|
* avoid unncessary db queries when exported directory can't be emptyGravatar Joey Hess2017-09-15
| | | | | | In rename foo/bar to foo/baz, foo can't be empty. In delete zxyyz, there's no exported directory (top doesn't count).
* devblogGravatar Joey Hess2017-09-15
|
* webdav: Changed path used on webdav server for temporary files.Gravatar Joey Hess2017-09-15
| | | | | | | | | Done to avoid a "tmp" directory appearing in webdav exports. Also affects non-export webdav remotes, so interrupted uploads using the old path will not overwrite it. However, PUT is quite likely to be implemented atomically on web servers anyway, so I doubt this will cause problems.
* empty directory removal workingGravatar Joey Hess2017-09-15
|
* remove empty directories when removing from exportGravatar Joey Hess2017-09-15
| | | | | | | | | | | | | | | The subtle part of this is what happens when the remote fails to remove an empty directory. The removal from the export needs to fail in that case, so the removal will be tried again later. However, removeExportLocation has already been run and changed the export db, so if the next run checks getExportLocation, it might decide nothing remains to be done, leaving the empty directory. Dealt with that by making removeEmptyDirectories, handle a failure by calling addExportLocation, reverting the database changes so the next run will be guaranteed to try deleting the empty directory again. This commit was sponsored by Thomas Hochstein on Patreon.
* add table to keep track of what subdirectories are populated in the exportGravatar Joey Hess2017-09-15
| | | | | | So empty subdirectories can be identified and removed. This commit was sponsored by Jochen Bartl on Patreon.
* add missing caseGravatar Joey Hess2017-09-15
|
* Merge branch 'master' of ssh://git-annex.branchable.comGravatar Joey Hess2017-09-15
|\
* | implement removeExportDirectoryGravatar Joey Hess2017-09-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Not yet called by Command.Export. WebDAV needs this to clean up empty collections. Also, example.sh turned out to not be cleaning up directories when removing content from them, so it made sense for it to use this. Remote.Directory did not need it, and since its cleanup method for empty directories is more efficient than what Command.Export will need to do to find empty directories, it uses Nothing so that extra work can be avoided. This commit was sponsored by Thom May on Patreon.
* | forwarded from ircGravatar Joey Hess2017-09-15
| |
* | updateGravatar Joey Hess2017-09-15
| |
| * (no commit message)Gravatar tomasz2017-09-15
| |
* | /dev/null stderr when generating completionsGravatar Joey Hess2017-09-14
| | | | | | | | avoid usage display when too old optparse-applicative
| * Added a comment: @joey: Sorry ...Gravatar benjamin.poldrack@d09ccff6d42dd20277610b59867cf7462927b8e32017-09-14
| |
* | updateGravatar Joey Hess2017-09-13
|/
* Merge branch 'master' of ssh://git-annex.branchable.comGravatar Joey Hess2017-09-13
|\
* | fix build with old http-clientGravatar Joey Hess2017-09-13
| |
* | work around box.com webdav rename bugGravatar Joey Hess2017-09-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Apparently box.com renaming is just buggy. I tried a couple of fixes: * In case the http Manager was opening multiple connections and reaching different backend servers, I tried limiting the number of connections to 1. Didn't help. * To make sure it was not a http connection reuse problem, I tried rewriting how exportAction works, so that the same http connection is clearly open. Didn't help. So, disable renaming of exports for box.com. It would be good to test it with some other webdav server. This commit was sponsored by John Peloquin on Patreon.
* | fix exporting files in subdirectories to webdavGravatar Joey Hess2017-09-13
| | | | | | | | | | | | | | Use tmp/key when exporting, so the whole export directory structure does not have to be created under tmp/ This commit was sponsored by Denis Dzyubenko on Patreon.
* | add Command.ExportGravatar Joey Hess2017-09-13
| |
| * Added a commentGravatar yarikoptic2017-09-13
| |
* | cleanup importsGravatar Joey Hess2017-09-13
|/
* commentGravatar Joey Hess2017-09-13
|
* Merge branch 'master' of ssh://git-annex.branchable.comGravatar Joey Hess2017-09-13
|\
* | trust level overridden message adjusted for forced untrusted export remotesGravatar Joey Hess2017-09-13
| |
* | clear exportSupported for non-export remotesGravatar Joey Hess2017-09-13
| | | | | | | | | | Non-export remotes were being treated as untrusted, so the test suite failed, and probably other things broke.
| * Added a commentGravatar yarikoptic2017-09-13
| |
| * crossed away comment on hash levelsGravatar yarikoptic2017-09-13
| |