1d1054faa6
Added -z option to git-annex commands that use --batch, useful for supporting filenames containing newlines. It only controls input to --batch, the output will still be line delimited unless --json or etc is used to get some other output. While git often makes -z affect both input and output, I don't like trying them together, and making it affect output would have been a significant complication, and also git-annex output is generally not intended to be machine parsed, unless using --json or a format option. Commands that take pairs like "file key" still separate them with a space in --batch mode. All such commands take care to support filenames with spaces when parsing that, so there was no need to change it, and it would have needed significant changes to the batch machinery to separate tose with a null. To make fromkey and registerurl support -z, I had to give them a --batch option. The implicit batch mode they enter when not provided with input parameters does not support -z as that would have complicated option parsing. Seemed better to move these toward using the same --batch as everything else, though the implicit batch mode can still be used. This commit was sponsored by Ole-Morten Duesund on Patreon.
134 lines
3.7 KiB
Markdown
134 lines
3.7 KiB
Markdown
# NAME
|
|
|
|
git-annex addurl - add urls to annex
|
|
|
|
# SYNOPSIS
|
|
|
|
git annex addurl `[url ...]`
|
|
|
|
# DESCRIPTION
|
|
|
|
Downloads each url to its own file, which is added to the annex.
|
|
|
|
When `youtube-dl` is installed, it can be used to check for a video
|
|
embedded in a web page at the url, and that is added to the annex instead.
|
|
(However, this is disabled by default as it can be a security risk.
|
|
See the documentation of annex.security.allowed-http-addresses
|
|
in [[git-annex]](1) for details.)
|
|
|
|
Urls to torrent files (including magnet links) will cause the content of
|
|
the torrent to be downloaded, using `aria2c`.
|
|
|
|
Normally the filename is based on the full url, so will look like
|
|
"www.example.com_dir_subdir_bigfile". In some cases, addurl is able to
|
|
come up with a better filename based on other information. Options can also
|
|
be used to get better filenames.
|
|
|
|
# OPTIONS
|
|
|
|
* `--fast`
|
|
|
|
Avoid immediately downloading the url. The url is still checked
|
|
(via HEAD) to verify that it exists, and to get its size if possible.
|
|
|
|
* `--relaxed`
|
|
|
|
Don't immediately download the url, and avoid storing the size of the
|
|
url's content. This makes git-annex accept whatever content is there
|
|
at a future point.
|
|
|
|
This is the fastest option, but it still has to access the network
|
|
to check if the url contains embedded media. When adding large numbers
|
|
of urls, using `--relaxed --raw` is much faster.
|
|
|
|
* `--raw`
|
|
|
|
Prevent special handling of urls by youtube-dl, bittorrent, and other
|
|
special remotes. This will for example, make addurl
|
|
download the .torrent file and not the contents it points to.
|
|
|
|
* `--file=name`
|
|
|
|
Use with a filename that does not yet exist to add a new file
|
|
with the specified name and the content downloaded from the url.
|
|
|
|
If the file already exists, addurl will record that it can be downloaded
|
|
from the specified url(s).
|
|
|
|
* `--pathdepth=N`
|
|
|
|
Rather than basing the filename on the whole url, this causes a path to
|
|
be constructed, starting at the specified depth within the path of the
|
|
url.
|
|
|
|
For example, adding the url http://www.example.com/dir/subdir/bigfile
|
|
with `--pathdepth=1` will use "dir/subdir/bigfile",
|
|
while `--pathdepth=3` will use "bigfile".
|
|
|
|
It can also be negative; `--pathdepth=-2` will use the last
|
|
two parts of the url.
|
|
|
|
* `--prefix=foo` `--suffix=bar`
|
|
|
|
Use to adjust the filenames that are created by addurl. For example,
|
|
`--suffix=.mp3` can be used to add an extension to the file.
|
|
|
|
* `--jobs=N` `-JN`
|
|
|
|
Enables parallel downloads when multiple urls are being added.
|
|
For example: `-J4`
|
|
|
|
* `--batch`
|
|
|
|
Enables batch mode, in which lines containing urls to add are read from
|
|
stdin.
|
|
|
|
* `-z`
|
|
|
|
Makes the `--batch` input be delimited by nulls instead of the usual
|
|
newlines.
|
|
|
|
* `--with-files`
|
|
|
|
When batch mode is enabled, makes it parse lines of the form: "$url $file"
|
|
|
|
That adds the specified url to the specified file, downloading its
|
|
content if the file does not yet exist; the same as
|
|
`git annex addurl $url --file $file`
|
|
|
|
* `--json`
|
|
|
|
Enable JSON output. This is intended to be parsed by programs that use
|
|
git-annex. Each line of output is a JSON object.
|
|
|
|
* `--json-progress`
|
|
|
|
Include progress objects in JSON output.
|
|
|
|
* `--json-error-messages`
|
|
|
|
Messages that would normally be output to standard error are included in
|
|
the json instead.
|
|
|
|
# CAVEATS
|
|
|
|
If annex.largefiles is configured, and does not match a file, `git annex
|
|
addurl` will add the non-large file directly to the git repository,
|
|
instead of to the annex. However, this is not done when --fast or --relaxed
|
|
is used.
|
|
|
|
# SEE ALSO
|
|
|
|
[[git-annex]](1)
|
|
|
|
[[git-annex-rmurl]](1)
|
|
|
|
[[git-annex-registerurl]](1)
|
|
|
|
[[git-annex-importfeed]](1)
|
|
|
|
# AUTHOR
|
|
|
|
Joey Hess <id@joeyh.name>
|
|
|
|
Warning: Automatically converted into a man page by mdwn2man. Edit with care.
|