summaryrefslogtreecommitdiff
path: root/Command
Commit message (Collapse)AuthorAge
* convert all git read/write functions to use ByteStringsGravatar Joey Hess2011-09-29
| | | | | | | | | | This yields a second or so speedup in unused, find, etc. Seems that even when the ByteString is immediately split and then converted to Strings, it's faster. I may try to push ByteStrings out into more of git-annex gradually, although I suspect most of the time-critical parts are already covered now, and many of the rest rely on libraries that only support Strings.
* golfingGravatar Joey Hess2011-09-28
|
* enable short-circuiting optimisatonsGravatar Joey Hess2011-09-28
|
* refine new unused codeGravatar Joey Hess2011-09-28
| | | | | | | | | Fixed the laziness space leak, so it runs in 60 mb or so again. Slightly faster due to using Data.Set.difference now, although this also makes it use slightly more memory. Also added display of the refs being checked, and made unused --from also check all refs for things in the remote.
* make unused check branches and tags tooGravatar Joey Hess2011-09-28
| | | | needs time and space optimisation
* refactorGravatar Joey Hess2011-09-23
|
* documentation/warning message update for future featureGravatar Joey Hess2011-09-23
|
* go go gadget hlintGravatar Joey Hess2011-09-20
|
* pull out pure codeGravatar Joey Hess2011-09-20
|
* bugfixGravatar Joey Hess2011-09-20
| | | | | | Different keys can have the same size, so can't make a Set of the sizes. This version actually runs faster yet, too..
* status: Massively sped up; remove --fast mode.Gravatar Joey Hess2011-09-20
| | | | | | | | | | Using Sets is the right thing; they have constant size lookup like my SizeList, and logn insertation, which beats nub to death. Runs faster than --fast mode did before, and gives accurate counts. 13 seconds total runtime with a warm cache in a repository with 40 thousand keys.
* status: In --fast mode, all status info is displayed now; but some of it is ↵Gravatar Joey Hess2011-09-20
| | | | only approximate, and is marked as such.
* make find show files meeting limits, even when not presentGravatar Joey Hess2011-09-18
| | | | | | | | | find: Rather than only showing files whose contents are present, when used with --exclude --copies or --in, displays all files that match the specified conditions. Note that this is a behavior change for find --exclude! Old behavior can be gotten with find --in . --exclude=...
* tweakGravatar Joey Hess2011-09-15
|
* remove command type definitionsGravatar Joey Hess2011-09-15
| | | | | | | 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.
* move annex.numcopies parsing into withNumCopiesGravatar Joey Hess2011-09-15
|
* add error for move --autoGravatar Joey Hess2011-09-15
| | | | | | | | | | | | | | | 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.
* copy --autoGravatar Joey Hess2011-09-15
| | | | Only does copy when numcopies is not yet satisfied.
* commentGravatar Joey Hess2011-09-15
|
* clean up params in usage displayGravatar Joey Hess2011-09-15
|
* remove optimize subcommand; use --auto insteadGravatar Joey Hess2011-09-15
| | | | | | | | | | | | | | | | | | 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.
* better var nameGravatar Joey Hess2011-09-15
|
* fix synopsisGravatar Joey Hess2011-09-15
|
* simplifyGravatar Joey Hess2011-09-14
|
* tweakGravatar Joey Hess2011-09-14
|
* refactorGravatar Joey Hess2011-09-14
|
* optimize: A new subcommand that either gets or drops file content as needed ↵Gravatar Joey Hess2011-09-14
| | | | | | | | 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.
* shorten synopsisGravatar Joey Hess2011-09-14
|
* more newline fixesGravatar Joey Hess2011-09-09
| | | | | | | | | | 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.
* fix / escapeGravatar Joey Hess2011-09-09
|
* addurl: Always use whole url as destination filename, rather than only its ↵Gravatar Joey Hess2011-09-07
| | | | | | | | | | | | | 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.
* refactorGravatar Joey Hess2011-09-06
|
* whereis: Show untrusted locations separately and do not include in location ↵Gravatar Joey Hess2011-09-06
| | | | count.
* add json formatted list of remotesGravatar Joey Hess2011-09-01
| | | | | Wherever a list of remotes is shown, --json now enables a json formatted list.
* generalize quiet flag to output typeGravatar Joey Hess2011-09-01
| | | | This will allow adding other styles of output.
* add explanation for why strictness is needed hereGravatar Joey Hess2011-08-31
|
* unused --remote: Reduced memory use to 1/4th what was used before.Gravatar Joey Hess2011-08-31
| | | | | | | 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.
* init: Make description an optional parameter.Gravatar Joey Hess2011-08-29
|
* code simplification thanks to applicative functorsGravatar Joey Hess2011-08-25
|
* split groups of related functions out of UtilityGravatar Joey Hess2011-08-22
|
* moved files aroundGravatar Joey Hess2011-08-20
|
* git-annex-shell configlist should not be standaloneGravatar Joey Hess2011-08-17
| | | | | This makes it initialize the repository with a uuid, and list the uuid, allowing automatic setup of bare repositories when git-annex is used.
* Now "git annex init" only has to be run onceGravatar Joey Hess2011-08-17
| | | | | | | when a git repository is first being created. Clones will automatically notice that git-annex is in use and automatically perform a basic initalization. It's still recommended to run "git annex init" in any clones, to describe them.
* reorg Remote/*Gravatar Joey Hess2011-08-16
|
* split out generic url stuff into a helper library from Remote.WebGravatar Joey Hess2011-08-16
|
* avoid namespace conflictGravatar Joey Hess2011-08-16
|
* addurl: --fast can be used to avoid immediately downloading the url.Gravatar Joey Hess2011-08-06
| | | | | | The tricky part about this is that to generate a key, the file must be present already. Worked around by adding (back) an URL key type, which is used for addurl --fast.
* unify elipsis handlingGravatar Joey Hess2011-07-19
| | | | | And add a simple dots-based progress display, currently only used in v2 upgrade.
* finished hlint passGravatar Joey Hess2011-07-15
|
* unannex: only commit, no -aGravatar Joey Hess2011-07-14
| | | | -a is actually not needed; only commit staged changes