Commit graph

2340 commits

Author SHA1 Message Date
Joey Hess
35145202d2 remove command type definitions
These were a mistake, they make the type signatures harder to read and
less flexible. The CommandSeek, CommandStart, CommandPerform, and
CommandCleanup types were a good idea, but composing them with the
parameters expected is going too far.
2011-09-15 16:50:49 -04:00
Joey Hess
456b45b9b3 move annex.numcopies parsing into withNumCopies 2011-09-15 16:24:47 -04:00
Joey Hess
d036cd590f bugfix: drop and fsck did not honor --exclude 2011-09-15 15:44:32 -04:00
Joey Hess
aedf84f7d6 wording 2011-09-15 15:39:48 -04:00
Joey Hess
e47d1fd43e add error for move --auto
It probably does not make sense to enable auto mode for move. I cannot
think of a situation where it would make sense to try to use it.

A hypothetical auto mode for move would only differ from a normal
move in one case -- when both repositories have a file, move deletes it
from one, and this reduces the number of copies. So an auto mode would
either only let move work in that situation, or avoid removing the file
in that situation, depending on the number of copies. This would be
complex to implement, and is perhaps not a very obvious behavior.

The error is a good thing to have, so users don't expect it to do something
it does not.
2011-09-15 15:33:20 -04:00
Joey Hess
a0d3a343b5 copy --auto
Only does copy when numcopies is not yet satisfied.
2011-09-15 15:28:58 -04:00
Joey Hess
7b90cb72fc document --auto all in one place 2011-09-15 15:15:47 -04:00
Joey Hess
fe5e4bdc64 comment 2011-09-15 14:34:15 -04:00
Joey Hess
9fe3c6d211 clean up params in usage display 2011-09-15 14:33:37 -04:00
Joey Hess
984c9fc052 remove optimize subcommand; use --auto instead
get, drop: Added --auto option, which decides whether to get/drop content
as needed to work toward the configured numcopies.

The problem with bundling it up in optimize was that I then found I wanted
to run an optmize that did not drop files, only got them. Considered adding
a --only-get switch to it, but that seemed wrong. Instead, let's make
existing subcommands optionally smarter.

Note that the only actual difference between drop and drop --auto is that
the latter does not even try to drop a file if it knows of not enough
copies, and does not print any error messages about files it was unable to
drop.

It might be nice to make get avoid asking git for attributes when not in
auto mode. For now it always asks for attributes.
2011-09-15 13:30:04 -04:00
Joey Hess
81984e60ac better var name 2011-09-15 12:37:27 -04:00
Joey Hess
5c96411314 fix synopsis 2011-09-15 12:36:27 -04:00
Joey Hess
59fe0b29a6 simplify 2011-09-14 16:01:40 -04:00
Joey Hess
11994ebb3d tweak 2011-09-14 15:33:21 -04:00
Joey Hess
5a1f10325f refactor 2011-09-14 13:48:39 -04:00
Joey Hess
949b3f69d0 optimize: A new subcommand that either gets or drops file content as needed to work toward meeting the configured numcopies setting.
This is currently rather simplistic, though still useful.
In the future, it could become smarter about what content is stored where,
etc.
2011-09-14 13:47:22 -04:00
Joey Hess
1ac6217c74 shorten synopsis 2011-09-14 13:32:46 -04:00
Joey Hess
e296da4bfe more newline fixes
Adds a missing newline when a longnote is followed by a endresult.

Multiple longnotes in a row will now be separated by a blank line, which
could be a bug or a feature depending on taste.

Removed several places where newlines were explicitly displayed after
longnotes.
2011-09-09 01:45:41 -04:00
Joey Hess
e4ba0934c2 fix / escape 2011-09-09 00:11:32 -04:00
Joey Hess
03d6209e1c addurl: Always use whole url as destination filename, rather than only its file component.
First, this ensures that git annex addurl, when run repeatedly with the
same url, doesn't create duplicate files, which it did before when it
fell back to the longer filename.

Secondly, the file part of an url is frequently not very descriptive on its
own.

The uri scheme, auth, and port is intentionally left out, as clutter.
2011-09-07 19:04:51 -04:00
Joey Hess
7c768c0984 simplify 2011-09-07 18:57:38 -04:00
Joey Hess
72b54d6170 Fix build without S3. 2011-09-07 10:21:19 -04:00
Joey Hess
3623d831d1 refactor 2011-09-06 17:45:47 -04:00
Joey Hess
6f98fd5391 whereis: Show untrusted locations separately and do not include in location count. 2011-09-06 16:59:53 -04:00
Joey Hess
b7bcd942c5 add news item for git-annex 3.20110906 2011-09-06 15:54:43 -04:00
Joey Hess
6fd0df7c2f releasing version 3.20110906 2011-09-06 15:54:21 -04:00
Joey Hess
ebb92221fd Fix Makefile to work with cabal again. 2011-09-06 15:35:13 -04:00
Joey Hess
3778e8897d switch to using cabal-install git-annex 2011-09-06 14:48:15 -04:00
Joey Hess
7722147e16 add josn build dep 2011-09-06 14:36:51 -04:00
Joey Hess
ca4eb842a4 add json to build scripts 2011-09-06 14:36:21 -04:00
Joey Hess
92f490383a Merge branch 'master' of ssh://git-annex.branchable.com 2011-09-06 14:35:55 -04:00
https://www.google.com/accounts/o8/id?id=AItOawl0-EtQjVUNysjom6sTlQxRUwkwD6uPx88
fcfd2776cb 2011-09-06 18:27:08 +00:00
Joey Hess
07125dca53 Improve display of newlines around error and warning messages. 2011-09-06 13:46:08 -04:00
Joey Hess
14f75ced75 remove now unnecessary commit after get 2011-09-05 11:59:53 -04:00
Joey Hess
dbef6a045c remove now-unnecessary commit after drop 2011-09-05 11:59:52 -04:00
http://joey.kitenet.net/
f0777d9b5a Added a comment 2011-09-05 15:59:27 +00:00
DavidEdmondson
c5c525d930 Added a comment: Is it necessary to commit after the 'drop'? 2011-09-05 15:43:26 +00:00
Joey Hess
ea621d0c2d add news item for git-annex 3.20110902 2011-09-02 21:32:21 -04:00
Joey Hess
d238bbd9d9 releasing version 3.20110902 2011-09-02 21:32:05 -04:00
Joey Hess
d1dd40c49b avoid showing json lists of remotes when not in json mode 2011-09-02 16:44:04 -04:00
Joey Hess
cb5dacfd40 rsync and wget use stderr for progress, so no problem 2011-09-01 16:15:57 -04:00
Joey Hess
e4a74c0dc5 close bug with some caveats 2011-09-01 16:11:21 -04:00
Joey Hess
5bc32c7f34 add json formatted list of remotes
Wherever a list of remotes is shown, --json now enables a json formatted
list.
2011-09-01 16:02:01 -04:00
Joey Hess
2f4d4d1c45 basic json support
This includes a generic JSONStream library built on top of Text.JSON
(somewhat hackishly).

It would be possible to stream out a single json document describing
all actions, but it's probably better for consumers if they can expect
one json document per line, so I did it that way instead.

Output from external programs used for transferring files is not
currently hidden when outputting json, which probably makes it not very
useful there. This may be dealt with if there is demand for json
output for --get or --move to be parsable.

The version, status, and find subcommands have hand-crafted output and
don't do json. The whereis subcommand needs to be modified to produce
useful json.
2011-09-01 15:22:06 -04:00
Joey Hess
57dd34c6be generalize quiet flag to output type
This will allow adding other styles of output.
2011-09-01 13:35:07 -04:00
Joey Hess
55783d886d add explanation for why strictness is needed here 2011-08-31 19:50:08 -04:00
Joey Hess
38eff1dc1f Merge branch 'master' of ssh://git-annex.branchable.com 2011-08-31 19:13:23 -04:00
Joey Hess
f600444ab6 unused --remote: Reduced memory use to 1/4th what was used before.
Using a single strictness annotation, in just the right place.
Tried several others, none of which helped and some of which potentially
hurt. This is only the second time I've really had to deal with this in
a year of using haskell, which is, I suppose not that bad.
2011-08-31 19:13:02 -04:00
http://jefferai.org/
baa43cb9c0 2011-08-30 20:56:44 +00:00
Joey Hess
ea7b1828d4 unused, status: Sped up by avoiding unnecessary stats of annexed files.
Statting files returned by dirContents to see if they exist and are regular
files seems pretty useless. This code was originally part of fsck, and
perhaps the idea then was to avoid things returned by dirContents that were
not files. But it's certianly not needed in the current use cases for
getKeysPresent.
2011-08-30 15:16:34 -04:00