summaryrefslogtreecommitdiff
path: root/GitAnnex.hs
Commit message (Collapse)AuthorAge
* find: Support --print0Gravatar Joey Hess2011-11-22
| | | | | | | | | | | It would be nice if command-specific options were supported. The first difficulty is that which command is being called is not known until after getopt; but that could be worked around by finding the first non-dashed parameter. Storing the settings without putting them in the annex monad is the next difficulty; it could perhaps be handled by making the seek stage pass applicable settings into the start stage (and from there on to perform as needed). But that still leaves a problem, what data type to use to represent the options between getopt and seek?
* When not run in a git repository, git-annex can still display a usage ↵Gravatar Joey Hess2011-11-16
| | | | | | | message, and "git annex version" even works. Things that sound simple, but are made hard by the Annex monad being built with the assumption that there will always be a git repo.
* reorder repo parameters lastGravatar Joey Hess2011-11-08
| | | | | | | | | | | | | Many functions took the repo as their first parameter. Changing it consistently to be the last parameter allows doing some useful things with currying, that reduce boilerplate. In particular, g <- gitRepo is almost never needed now, instead use inRepo to run an IO action in the repo, and fromRepo to get a value from the repo. This also provides more opportunities to use monadic and applicative combinators.
* better command nameGravatar Joey Hess2011-10-31
|
* Removed the setkey command, and added a setcontent command with a more ↵Gravatar Joey Hess2011-10-31
| | | | useful interface.
* refactoring and cleanupGravatar Joey Hess2011-10-30
| | | | No code changes.
* clean up check selection codeGravatar Joey Hess2011-10-29
| | | | | | | | | This new approach allows filtering out checks from the default set that are not appropriate for a command, rather than having to list every check that is appropriate. It also reduces some boilerplate. Haskell does not define Eq for functions, so I had to go a long way around with each check having a unique id. Meh.
* renameGravatar Joey Hess2011-10-05
|
* renameGravatar Joey Hess2011-10-04
|
* factor out common importsGravatar Joey Hess2011-10-03
| | | | no code changes
* go go gadget hlintGravatar Joey Hess2011-09-20
|
* --copies=N can be used to make git-annex only operate on files with the ↵Gravatar Joey Hess2011-09-18
| | | | | | specified number of copies. (And --not --copies=N for the inverse.)
* add --in limitGravatar Joey Hess2011-09-18
|
* add --and --or --not -( and -)Gravatar Joey Hess2011-09-18
| | | | | | | | I dislike -( and -), but without using a different option parser, can't easily use bare parens. --and and --or will become more useful once there are more interesting limits than --exclude
* refactor --exclude to use Utility.MatcherGravatar Joey Hess2011-09-18
| | | | | This should change no behavior, but opens the poissibility to use the matcher for other sorts of limits on which files git-annex processes.
* 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.
* 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.
* Support the standard git -c name=valueGravatar Joey Hess2011-07-14
| | | | | | | | | This allows eg, `git-annex -c annex.rsync-options=-6 get file` The overridden git configs are not passed on to git plumbing commands that are run. Perhaps someone will find a need to do that, but I don't yet and it would require storing more state to know what config settings have been overridden and need to be passed on.
* add the addurl commandGravatar Joey Hess2011-07-01
|
* renamed GitRepo to GitGravatar Joey Hess2011-06-30
| | | | It was always imported qualified as Git anyway
* cache the trustmapGravatar Joey Hess2011-06-23
| | | | Doubles the speed of fsck, and speeds up drop as well.
* add merge subcommandGravatar Joey Hess2011-06-22
|
* tweakGravatar Joey Hess2011-06-02
|
* refactorGravatar Joey Hess2011-06-02
|
* better types allowed breaking module dep loopGravatar Joey Hess2011-06-01
|
* Add --trust, --untrust, and --semitrust options.Gravatar Joey Hess2011-06-01
|
* Add --numcopies option.Gravatar Joey Hess2011-06-01
|
* status: New subcommand to show info about an annex, including its size.Gravatar Joey Hess2011-05-16
|
* started on initremoteGravatar Joey Hess2011-03-28
|
* Add version command to show git-annex version as well as repository version ↵Gravatar Joey Hess2011-03-19
| | | | information.
* add explicit upgrade commandGravatar Joey Hess2011-03-16
|
* whereis: New subcommand to show where a file's content has gotten to.Gravatar Joey Hess2011-03-05
|
* add describe subcommandGravatar Joey Hess2011-03-03
|
* new map subcommand, basically workingGravatar Joey Hess2011-02-03
| | | | | | | | | | | Still todo: - add repos from uuid.log that were not directly found - group repos into their respective hosts - display inaccessible repos and broken remote connections in red - anonymize the url display somewhat, so the maps can be shared - use uuid info to tell when two apparently different repos are actually the same repo accessed in different ways
* implement 3 level trust storage in trust.logGravatar Joey Hess2011-01-26
|
* rework config storageGravatar Joey Hess2011-01-26
| | | | | | | Moved away from a map of flags to storing config directly in the AnnexState structure. Got rid of most accessor functions in Annex. This allowed supporting multiple --exclude flags.
* New migrate subcommand can be used to switch files to using a different ↵Gravatar Joey Hess2011-01-08
| | | | backend, safely and with no duplication of content.
* simplifyGravatar Joey Hess2011-01-07
|
* make test suite link in git-annex's commands and run directlyGravatar Joey Hess2011-01-06
this way, test coverage works