summaryrefslogtreecommitdiff
path: root/Remote
Commit message (Collapse)AuthorAge
* sync: support gcrypt4.20130909Gravatar Joey Hess2013-09-09
|
* Allow building without quvi support.Gravatar Joey Hess2013-09-09
|
* ignore gcrypt remotes w/o an annex-uuidGravatar Joey Hess2013-09-08
|
* gcrypt: now supports rsyncGravatar Joey Hess2013-09-08
| | | | | | | | | | | | | | | | | | | | Use rsync for gcrypt remotes that are not local to the disk. (Note that I have punted on supporting http transport for now, it doesn't seem likely to be very useful.) This was mostly quite easy, it just uses the rsync special remote to handle the transfers. The git repository url is converted to a RsyncOptions structure, which required parsing it separately, since the rsync special remote only supports rsync urls, which use a different format. Note that annexed objects are now stored at the top of the gcrypt repo, rather than inside annex/objects. This simplified the rsync suport, since it doesn't have to arrange to create that directory. And git-annex is not going to be run directly within gcrypt repos -- or if in some strance scenario it was, it would make sense for it to not see the encrypted objects. This commit was sponsored by Sheila Miguez
* local gcrypt fully working!Gravatar Joey Hess2013-09-08
|
* partially complete gcrypt remote (local send done; rest not)Gravatar Joey Hess2013-09-07
| | | | | | | | | | | | | | | | | | | | | | | | This is a git-remote-gcrypt encrypted special remote. Only sending files in to the remote works, and only for local repositories. Most of the work so far has involved making initremote work. A particular problem is that remote setup in this case needs to generate its own uuid, derivied from the gcrypt-id. That required some larger changes in the code to support. For ssh remotes, this will probably just reuse Remote.Rsync's code, so should be easy enough. And for downloading from a web remote, I will need to factor out the part of Remote.Git that does that. One particular thing that will need work is supporting hot-swapping a local gcrypt remote. I think it needs to store the gcrypt-id in the git config of the local remote, so that it can check it every time, and compare with the cached annex-uuid for the remote. If there is a mismatch, it can change both the cached annex-uuid and the gcrypt-id. That should work, and I laid some groundwork for it by already reading the remote's config when it's local. (Also needed for other reasons.) This commit was sponsored by Daniel Callahan.
* automatically derive an annex-uuid from a gcrypt-uuidsGravatar Joey Hess2013-09-05
|
* rename constructor for clariyGravatar Joey Hess2013-09-05
|
* Leverage an ambiguities between CiphersGravatar guilhem2013-09-05
| | | | | | | | | Cipher is now a datatype data Cipher = Cipher String | MacOnlyCipher String which makes more precise its interpretation MAC-only vs. MAC + used to derive a key for symmetric crypto.
* tabsGravatar Joey Hess2013-09-04
|
* unimportant tweakGravatar Joey Hess2013-09-04
| | | | fix something my internal haskell parser does a double take at
* replace an over-explained Bool with a data typeGravatar Joey Hess2013-09-04
| | | | | This also highlights several places where a Read/Show or similar for the new data type could avoid redundant strings.
* Encryption defaults to 'hybrid'Gravatar guilhem2013-09-04
| | | | When a keyid= is specified while encryption= is absent.
* fix build (seems getGpgEncOpts got renamed to getGpgEncParams)Gravatar Joey Hess2013-09-04
|
* Allow public-key encryption of file content.Gravatar guilhem2013-09-03
| | | | | | | | | | | | With the initremote parameters "encryption=pubkey keyid=788A3F4C". /!\ Adding or removing a key has NO effect on files that have already been copied to the remote. Hence using keyid+= and keyid-= with such remotes should be used with care, and make little sense unless the point is to replace a (sub-)key by another. /!\ Also, a test case has been added to ensure that the cipher and file contents are encrypted as specified by the chosen encryption scheme.
* Allow revocation of OpenPGP keys.Gravatar guilhem2013-08-29
| | | | | | | | | | | | | | | | | | | | | | | /!\ It is to be noted that revoking a key does NOT necessarily prevent the owner of its private part from accessing data on the remote /!\ The only sound use of `keyid-=` is probably to replace a (sub-)key by another, where the private part of both is owned by the same person/entity: git annex enableremote myremote keyid-=2512E3C7 keyid+=788A3F4C Reference: http://git-annex.branchable.com/bugs/Using_a_revoked_GPG_key/ * Other change introduced by this patch: New keys now need to be added with option `keyid+=`, and the scheme specified (upon initremote only) with `encryption=`. The motivation for this change is to open for new schemes, e.g., strict asymmetric encryption. git annex initremote myremote encryption=hybrid keyid=2512E3C7 git annex enableremote myremote keyid+=788A3F4C
* better casesGravatar Joey Hess2013-08-22
|
* unimportant typoGravatar Joey Hess2013-08-22
| | | | (u and u' happened to be the same)
* Youtube support! (And 53 other video hosts)Gravatar Joey Hess2013-08-22
| | | | | | | | | | When quvi is installed, git-annex addurl automatically uses it to detect when an page is a video, and downloads the video file. web special remote: Also support using quvi, for getting files, or checking if files exist in the web. This commit was sponsored by Mark Hepburn. Thanks!
* avoid more build warnings on WindowsGravatar Joey Hess2013-08-04
|
* Windows: Fixed permissions problem that prevented removing files from ↵Gravatar Joey Hess2013-08-04
| | | | | | directory special remote. Directory special remotes now fully usable.
* squash compiler warnings on WindowsGravatar Joey Hess2013-08-04
|
* get rid of __WINDOWS__, use mingw32_HOST_OSGravatar Joey Hess2013-08-02
| | | | | The latter is harder for me to remember, but avoids build failures in code used by the configure program.
* directory special remote: Fix checking that there is enough disk space to ↵Gravatar Joey Hess2013-07-20
| | | | hold an object, was broken when using encryption.
* Fix checking when content is present in a non-bare repository accessed via http.Gravatar Joey Hess2013-07-18
| | | | | | | | | | | | | | | I thought at first this was a Windows specific problem, but it's not; this affects checking any non-bare repository exported via http. Which is a potentially important use case! The actual bug was the case where Right False was returned by the first url short-curcuited later checks. But the whole method used felt like code I'd no longer write, and the use of undefined was particularly disgusting. So I rewrote it. Also added an action display. This commit was sponsored by Eric Hanchrow. Thanks!
* fix build on windowsGravatar Joey Hess2013-07-09
|
* Windows: Fix url to object when using a http remote.Gravatar Joey Hess2013-07-07
| | | | | | | | | annexLocations uses OS-native directory separators, but for an url, it needs to use / even on Windows. This is an ugly workaround. Could parameterize a lot of stuff in annexLocations to fix it better. I suspect this is probably the only place it's needed though.
* Strip leading /~/ from bup relatively pathed bup remotesGravatar Oliver Matthews2013-06-21
|
* Merge branch 'glacier'Gravatar Joey Hess2013-06-11
|\ | | | | | | | | Conflicts: debian/changelog
* | Supports indirect mode on encfs in paranoia mode, and other filesystems that ↵Gravatar Joey Hess2013-06-10
| | | | | | | | do not support hard links, but do support symlinks and other POSIX filesystem features.
| * glacier: Better handling of the glacier inventory, which avoids duplicate ↵Gravatar Joey Hess2013-05-29
|/ | | | | | | | | | | | | | | | | | | | | | | | uploads to the same glacier repository by `git annex copy`. The checkpresent hook can return either True or, False, or fail with a message if it cannot successfully check the remote. Currently for glacier, when --trust-glacier is not set, it always returns False. Crucially, in the case when a file is in glacier, this is telling git-annex it's not there, so copy re-uploads it. This is not desirable; it breaks using glacier-cli to retreive that file later, and it wastes money/bandwidth. What if it instead, when the glacier inventory is missing a file, it returns False. And when the glacier inventory has a file, unless --trust-glacier is set, it *fails*. The result would be: * `git annex copy --to glacier` would only send things not listed in inventory. If a file is listed in the inventory, `copy` would complain that --trust-glacier` is not set, and not re-upload the file. * `git annex drop` would only trust that glacier has a file when --trust-glacier is set. Behavior unchanged. * `git annex move --to glacier`, when the file is not listed in inventory, would send the file, and delete it locally. Behavior unchanged. * `git annex move --to glacier`, when the file is listed in inventory, would only trust that glacier has the file when --trust-glacier is set * `git annex copy --from glacier` / `git annex get`, when the file is located in glacier, would trust the location log, and attempt to get the file from glacier.
* Merge branch 'robustness'Gravatar Joey Hess2013-05-25
|\
| * improve robustness of fromDirect and replaceFileGravatar Joey Hess2013-05-25
| | | | | | | | | | | | | | | | | | Made fromDirect check that a file in the tree has good content (and is not a broken symlink either) before copying it to another file that has the same key. Made replaceFile clean up the temp file if the action that creates it, or the file replacement action fails.
* | Improve error handling when getting uuid of http remotes to auto-ignore, ↵Gravatar Joey Hess2013-05-25
|/ | | | like with ssh remotes.
* hook special remote: Added combined hook program support.Gravatar Joey Hess2013-05-21
|
* remove unnecessary bracketIOGravatar Joey Hess2013-05-19
|
* print encryption setup message before actionGravatar Joey Hess2013-05-18
|
* fixGravatar Joey Hess2013-05-14
|
* fix importsGravatar Joey Hess2013-05-14
|
* typoGravatar Joey Hess2013-05-14
|
* avoid running background transferinfo when ssh connection caching is not ↵Gravatar Joey Hess2013-05-14
| | | | supported
* deal with Cygwin rsync paths issueGravatar Joey Hess2013-05-14
|
* rename moduleGravatar Joey Hess2013-05-12
|
* fix permission damage (thanks, Windows)Gravatar Joey Hess2013-05-11
|
* git-annex now builds on Windows (doesn't work)Gravatar Joey Hess2013-05-11
|
* fixup #if 0 stubs to use #ifndef mingw32_HOST_OSGravatar Joey Hess2013-05-10
| | | | | | That's needed in files used to build the configure program. For the other files, I'm keeping my __WINDOWS__ define, as I find that much easier to type. I may search and replace it to use the mingw32_HOST_OS thing later.
* stub out POSIX stuffGravatar Joey Hess2013-05-10
|
* rsync special remotes: When sending from a crippled filesystem, use the ↵Gravatar Joey Hess2013-05-09
| | | | destination's default file permissions, as the local ones can be arbitrarily broken. (Ie, ----rwxr-x for files on Android)
* When initializing a directory special remote with a relative path, the path ↵Gravatar Joey Hess2013-05-06
| | | | | | | is made absolute. Using a relative path would work, until the user changed to some other directory in the repo and tried to access the remote from there..
* Support building with DAV 0.4.Gravatar Joey Hess2013-04-30
|