28b29f63dc
Works but some commands may need changes to support special remotes configured this way.
60 lines
2.5 KiB
Markdown
60 lines
2.5 KiB
Markdown
This special remote type stores file contents in directory.
|
|
|
|
One use case for this would be if you have a removable drive that
|
|
you want to use to sneakernet files between systems (possibly with
|
|
[[encrypted|encryption]] contents). Just set up both systems to use
|
|
the drive's mountpoint as a directory remote.
|
|
|
|
With the exporttree=yes parameter, the directory contains a tree of files
|
|
with the same filenames used in a branch of your repository. Without that
|
|
parameter, the directory contains a directory structure similar to
|
|
`.git/annex/objects` or other special remotes like [[rsync]].
|
|
|
|
Bear in mind that you can also use a regular `git clone` of your git-annex
|
|
repository, rather than a directory remote.
|
|
|
|
## configuration
|
|
|
|
These parameters can be passed to `git annex initremote` to configure the
|
|
remote:
|
|
|
|
* `directory` - The path to the directory where the files should be stored
|
|
for the remote. The directory must already exist. Typically this will
|
|
be an empty directory, or a directory already used as a directory remote.
|
|
|
|
* `encryption` - One of "none", "hybrid", "shared", or "pubkey".
|
|
See [[encryption]].
|
|
|
|
* `keyid` - Specifies the gpg key to use for [[encryption]].
|
|
|
|
* `chunk` - Enables [[chunking]] when storing large files.
|
|
|
|
* `chunksize` - Deprecated version of chunk parameter above.
|
|
Do not use for new remotes. It is not safe to change the chunksize
|
|
setting of an existing remote.
|
|
|
|
* `exporttree` - Set to "yes" to make this special remote usable
|
|
by [[git-annex-export]]. It will not be usable as a general-purpose
|
|
special remote.
|
|
|
|
* `importtree` - Set to "yes" to make this special remote usable
|
|
by [[git-annex-import]]. It will not be usable as a general-purpose
|
|
special remote.
|
|
|
|
* `annexobjects` - When set to "yes" along with "exporttree=yes",
|
|
this allows storing other objects in the remote along with the
|
|
exported tree. They will be stored under .git/annex/objects/ in the
|
|
directory.
|
|
|
|
* `ignoreinodes` - Usually when importing, the inode numbers
|
|
of files are used to detect when files have changed. Since some
|
|
filesystems generate new inode numbers each time they are mounted,
|
|
that can lead to extra work being done. Setting this to "yes" will
|
|
ignore the inode numbers and so avoid that extra work.
|
|
This should not be used when the filesystem has stable inode numbers,
|
|
as it does risk confusing two files that have the same size and mtime.
|
|
|
|
Setup example:
|
|
|
|
# git annex initremote usbdrive type=directory directory=/media/usbdrive/ encryption=none
|
|
# git annex describe usbdrive "usb drive on /media/usbdrive/"
|