# NAME git-annex export - export content to a remote # SYNOPSIS git annex export `treeish --to remote` # DESCRIPTION Use this command to export a tree of files from a git-annex repository. Normally files are stored on a git-annex special remote named by their keys. That is great for reliable data storage, but your filenames are obscured. Exporting replicates the tree to the special remote as-is. Mixing key/value storage and exports in the same remote would be a mess and so is not allowed. You have to configure a special remote with `exporttree=yes` when initially setting it up with [[git-annex-initremote]](1). Repeated exports are done efficiently, by diffing the old and new tree, and transferring only the changed files. Exports can be interrupted and resumed. However, partially uploaded files will be re-started from the beginning. Once content has been exported to a remote, commands like `git annex get` can download content from there the same as from other remotes. However, since an export is not a key/value store, git-annex has to do more verification of content downloaded from an export. Some types of keys, that are not based on checksums, cannot be downloaded from an export. And, git-annex will never trust an export to retain the content of a key. # EXPORT CONFLICTS If two different git-annex repositories are both exporting different trees to the same special remote, it's possible for an export conflict to occur. This leaves the special remote with some files from one tree, and some files from the other. Files in the special remote may have entirely the wrong content as well. It's not possible for git-annex to detect when making an export will result in an export conflict. The best way to avoid export conflicts is to either only ever export to a special remote from a single repository, or to have a rule about the tree that you export to the special remote. For example, if you always export origin/master after pushing to origin, then an export conflict can't happen. An export conflict can only be detected after the two git repositories that produced it get back in sync. Then the next time you run `git annex export`, it will detect the export conflict, and resolve it. # SEE ALSO [[git-annex]](1) [[git-annex-initremote]](1) # AUTHOR Joey Hess Warning: Automatically converted into a man page by mdwn2man. Edit with care.