summaryrefslogtreecommitdiff
path: root/doc/git-annex.mdwn
diff options
context:
space:
mode:
Diffstat (limited to 'doc/git-annex.mdwn')
-rw-r--r--doc/git-annex.mdwn75
1 files changed, 59 insertions, 16 deletions
diff --git a/doc/git-annex.mdwn b/doc/git-annex.mdwn
index 0912e0b2a..30494e95c 100644
--- a/doc/git-annex.mdwn
+++ b/doc/git-annex.mdwn
@@ -307,11 +307,19 @@ subdirectories).
By default, the webapp can only be accessed from localhost, and running
it opens a browser window.
- With the `--listen=address[:port]` option, the webapp can be made to listen
- for connections on the specified address. This disables running a
- local web browser, and outputs the url you can use to open the webapp
- from a remote computer.
- Note that this does not yet use HTTPS for security, so use with caution!
+ To use the webapp on a remote computer, use the `--listen=address`
+ option to specify the address the web server should listen on
+ (or set annex.listen).
+ This disables running a local web browser, and outputs the url you
+ can use to open the webapp.
+
+ When using the webapp on a remote computer, you'll almost certianly
+ want to enable HTTPS. The webapp will use HTTPS if it finds
+ a .git/annex/privkey.pem and .git/annex/certificate.pem. Here's
+ one way to generate those files, using a self-signed certificate:
+
+ openssl genrsa -out .git/annex/privkey.pem 4096
+ openssl req -new -x509 -key .git/annex/privkey.pem > .git/annex/certificate.pem
# REPOSITORY SETUP COMMANDS
@@ -709,13 +717,16 @@ subdirectories).
To remove a value, use -s field-=value.
+ To set a value, only if the field does not already have a value,
+ use -s field?=value
+
To set a tag, use -t tag, and use -u tag to remove a tag.
For example, to set some tags on a file and also its author:
git annex metadata annexscreencast.ogv -t video -t screencast -s author+=Alice
-* `view [field=value ...] [tag ...]`
+* `view [tag ...] [field=value ...] [field=glob ...] [!tag ...] [field!=value ...]`
Uses metadata to build a view branch of the files in the current branch,
and checks out the view branch. Only files in the current branch whose
@@ -726,10 +737,19 @@ subdirectories).
a glob (`field="*"`) or by listing each wanted value. The resulting view
will put files in subdirectories according to the value of their fields.
- Once within a view, you can make additional directories, and
+ Once within such a view, you can make additional directories, and
copy or move files into them. When you commit, the metadata will
be updated to correspond to your changes.
+ There are fields corresponding to the path to the file. So a file
+ "foo/bar/baz/file" has fields "/=foo", "foo/=bar", and "foo/bar/=baz".
+ These location fields can be used the same as other metadata to construct
+ the view.
+
+ For example, `/=podcasts` will only include files from the podcasts
+ directory in the view, while `podcasts/=*` will preserve the
+ subdirectories of the podcasts directory in the view.
+
* `vpop [N]`
Switches from the currently active view back to the previous view.
@@ -737,12 +757,12 @@ subdirectories).
The optional number tells how many views to pop.
-* `vfilter [field=value ...] [tag ...]`
+* `vfilter [tag ...] [field=value ...] [!tag ...] [field!=value ...]`
Filters the current view to only the files that have the
- specified values and tags.
+ specified field values and tags.
-* `vadd [field=glob ...]`
+* `vadd [field=glob ...] [field=value ...] [tag ...]`
Changes the current view, adding an additional level of directories
to categorize the files.
@@ -942,7 +962,7 @@ subdirectories).
Rather than the normal output, generate JSON. This is intended to be
parsed by programs that use git-annex. Each line of output is a JSON
object. Note that JSON output is only usable with some git-annex commands,
- like info, find, and whereis.
+ like info, find, whereis, and metadata.
* `--debug`
@@ -1133,10 +1153,11 @@ file contents are present at either of two repositories.
The size can be specified with any commonly used units, for example,
"0.5 gb" or "100 KiloBytes"
-* `--metadata field=value`
+* `--metadata field=glob`
- Matches only files that have a metadata field attached with the specified
- value.
+ Matches only files that have a metadata field attached with a value that
+ matches the glob. The values of metadata fields are matched case
+ insensitively.
* `--want-get`
@@ -1269,6 +1290,12 @@ Here are all the supported configuration settings.
Note that setting numcopies to 0 is very unsafe.
+* `annex.genmetadata`
+
+ Set this to `true` to make git-annex automatically generate some metadata
+ when adding files to the repository. In particular, it stores
+ year and month metadata, from the file's modification date.
+
* `annex.queuesize`
git-annex builds a queue of git commands, in order to combine similar
@@ -1353,6 +1380,19 @@ Here are all the supported configuration settings.
Set to false to prevent the git-annex assistant from automatically
committing changes to files in the repository.
+* `annex.startupscan`
+
+ Set to false to prevent the git-annex assistant from scanning the
+ repository for new and changed files on startup. This will prevent it
+ from noticing changes that were made while it was not running, but can be
+ a useful performance tweak for a large repository.
+
+* `annex.listen`
+
+ Configures which address the webapp listens on. The default is localhost.
+ Can be either an IP address, or a hostname that resolves to the desired
+ address.
+
* `annex.debug`
Set to true to enable debug logging by default.
@@ -1509,8 +1549,7 @@ Here are all the supported configuration settings.
* `annex.web-options`
- Options to use when using wget or curl to download a file from the web.
- (wget is always used in preference to curl if available.)
+ Options to pass when running wget or curl.
For example, to force ipv4 only, set it to "-4"
* `annex.quvi-options`
@@ -1649,6 +1688,10 @@ used by git-annex.
`~/.config/git-annex/autostart` is a list of git repositories
to start the git-annex assistant in.
+`.git/hooks/pre-commit-annex` in your git repsitory will be run whenever
+a commit is made, either by git commit, git-annex sync, or the git-annex
+assistant.
+
# SEE ALSO
Most of git-annex's documentation is available on its web site,