From 041d7d210d9ed58e2419ad6f7ad9ce3f1d3d0283 Mon Sep 17 00:00:00 2001 From: Adam Spiers Date: Sat, 25 Apr 2015 12:39:17 +0100 Subject: [PATCH] Rename the installed executable to glcr Eventually, this will probably be taken care of by setup.py or similar. For now, it's better not to rename the source file, because that would break every existing pull request. Closes #30 and closes #47. --- README.md | 60 +++++++++++++++++++------------------- glacier-list-duplicates.sh | 2 +- glacier.py | 2 +- 3 files changed, 32 insertions(+), 32 deletions(-) diff --git a/README.md b/README.md index 730b592..ad95629 100644 --- a/README.md +++ b/README.md @@ -69,38 +69,38 @@ _(content successfully retrieved from Glacier)_ Example without git-annex ------------------------- - $ glacier vault list + $ glcr vault list _(empty result with zero exit status)_ - $ glacier vault create example-vault + $ glcr vault create example-vault _(silently successful: like other Unix commands, only errors are noisy)_ - $ glacier vault list + $ glcr vault list example-vault _(this list is retrieved from Glacier; a relatively quick operation)_ - $ glacier archive list example-vault + $ glcr archive list example-vault _(empty result with zero exit status; nothing is in our vault yet)_ $ echo 42 > example-content - $ glacier archive upload example-vault example-content + $ glcr archive upload example-vault example-content _(Glacier has now stored example-content in an archive with description example-content and in a vault called example-vault)_ - $ glacier archive list example-vault + $ glcr archive list example-vault example-content _(this happens instantly, since glacier-cli maintains a cached inventory)_ $ rm example-content _(now the only place the content is stored is in Glacier)_ - $ glacier archive retrieve example-vault example-content - glacier: queued retrieval job for archive 'example-content' - $ glacier archive retrieve example-vault example-content - glacier: job still pending for archive 'example-content' - $ glacier job list + $ glcr archive retrieve example-vault example-content + glcr: queued retrieval job for archive 'example-content' + $ glcr archive retrieve example-vault example-content + glcr: job still pending for archive 'example-content' + $ glcr job list a/p 2012-09-19T21:41:35.238Z example-vault example-content - $ glacier archive retrieve --wait example-vault example-content + $ glcr archive retrieve --wait example-vault example-content _(...hours pass while Amazon retrieves the content...)_ $ cat example-content @@ -127,11 +127,11 @@ Then clone this repository: and either, for all users: - sudo ln -s $PWD/glacier-cli/glacier.py /usr/local/bin/glacier + sudo ln -s $PWD/glacier-cli/glacier.py /usr/local/bin/glcr or for just yourself, if you have `~/bin` in your path: - ln -s $PWD/glacier-cli/glacier.py ~/bin/glacier + ln -s $PWD/glacier-cli/glacier.py ~/bin/glcr Integration with git-annex -------------------------- @@ -152,30 +152,30 @@ order to control your costs: Copying to the remote works as normal. Retrieving from the remote initially fails after a job is queued. If you try again after the job is complete (usually around four hours), then retrieval should work successfully. You can -monitor the status of the jobs using `glacier job list`; when the job status +monitor the status of the jobs using `glcr job list`; when the job status changes from `p` (pending) to `d` (done), a retrieval should work. Note that jobs expire from Amazon Glacier after around 24 hours or so. -`glacier checkpresent` cannot always check for certain that an archive +`glcr checkpresent` cannot always check for certain that an archive definitely exists within Glacier. Vault inventories take hours to retrieve, and even when retrieved do not necessarily represent an up-to-date state. For -this reason and as a compromise, `glacier checkpresent` will confirm to +this reason and as a compromise, `glcr checkpresent` will confirm to git-annex that an archive exists if it is known to have existed less than 60 hours ago. You may override this permitted lag interval with the `--max-age` -option to `glacier checkpresent`. +option to `glcr checkpresent`. Commands -------- -* glacier vault list -* glacier vault create vault-name -* glacier vault sync [--wait] [--fix] [--max-age hours] vault-name -* glacier archive list vault-name -* glacier archive upload [--name archive-name] vault-name filename -* glacier archive retrieve [--wait] [-o filename] [--multipart-size bytes] vault-name archive-name -* glacier archive retrieve [--wait] [--multipart-size bytes] vault-name archive-name [archive-name...] -* glacier archive delete vault-name archive-name -* glacier job list +* glcr vault list +* glcr vault create vault-name +* glcr vault sync [--wait] [--fix] [--max-age hours] vault-name +* glcr archive list vault-name +* glcr archive upload [--name archive-name] vault-name filename +* glcr archive retrieve [--wait] [-o filename] [--multipart-size bytes] vault-name archive-name +* glcr archive retrieve [--wait] [--multipart-size bytes] vault-name archive-name [archive-name...] +* glcr archive delete vault-name archive-name +* glcr job list Delayed Completion ------------------ @@ -210,7 +210,7 @@ and keeps its cache in `${XDG_CACHE_HOME:-$HOME/.cache}/glacier-cli/db`. After a disaster, or if you have modified a vault from another machine, you can reconstruct your cache by running: - $ glacier vault sync example-vault + $ glcr vault sync example-vault This will set off an inventory job if required. This command is subject to delayed completion semantics as above but will also respond to `--wait` as @@ -254,11 +254,11 @@ expect. If you end up with archive names or IDs that start with `name:` or Using Pipes ----------- -Use `glacier archive upload --name= - ` to upload data from +Use `glcr archive upload --name= - ` to upload data from standard input. In this case you must use `--name` to name your archive correctly. -Use `glacier archive retrieve -o-` to download data to standard +Use `glcr archive retrieve -o-` to download data to standard output. glacier-cli will not output any data to standard output apart from the archive data in order to prevent corrupting the output data stream. diff --git a/glacier-list-duplicates.sh b/glacier-list-duplicates.sh index 51318d0..4b5d6fb 100644 --- a/glacier-list-duplicates.sh +++ b/glacier-list-duplicates.sh @@ -19,6 +19,6 @@ keep=$(mktemp list-duplicates.XXXXXXXXXX) trap "rm -f -- '$all' '$keep'" EXIT -glacier archive list --force-ids "$vault"|sort -k2|uniq -f1 -D > "$all" +glcr archive list --force-ids "$vault"|sort -k2|uniq -f1 -D > "$all" uniq -f1 < "$all" | cut -f1 | sort > "$keep" cut -f1 < "$all" | sort | comm -23 - "$keep" diff --git a/glacier.py b/glacier.py index 1d1f8af..e7ac52b 100755 --- a/glacier.py +++ b/glacier.py @@ -48,7 +48,7 @@ # uploaded successfully. INVENTORY_LAG = 24 * 60 * 60 * 3 -PROGRAM_NAME = 'glacier' +PROGRAM_NAME = 'glcr' class ConsoleError(RuntimeError): def __init__(self, m):