summaryrefslogtreecommitdiff
path: root/Command/Fsck.hs
Commit message (Collapse)AuthorAge
* add support for using hashDirLower in addition to hashDirMixedGravatar Joey Hess2011-11-28
| | | | | | | | | | Supporting multiple directory hash types will allow converting to a different one, without a flag day. gitAnnexLocation now checks which of the possible locations have a file. This means more statting of files. Several places currently use gitAnnexLocation and immediately check if the returned file exists; those need to be optimised.
* lintGravatar Joey Hess2011-11-11
|
* better limiting of start actions to only run whenAnnexedGravatar Joey Hess2011-11-10
| | | | | Mostly only refactoring, but this does remove one redundant stat of the symlink by copy.
* cleanupGravatar Joey Hess2011-11-09
|
* 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.
* playing with >=>Gravatar Joey Hess2011-10-31
| | | | | Apparently in haskell if you teach a man to fish, he'll write more pointfree code.
* 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.
* refactorGravatar Joey Hess2011-10-29
|
* fsck: Now works in bare repositories.Gravatar Joey Hess2011-10-29
| | | | | | | | | Checks location log information, and file contents. Does not check that numcopies is satisfied, as .gitattributes information about numcopies is not available in a bare repository. In practice, that should not be a problem, since fsck is also run in a checkout and will check numcopies there.
* refactorGravatar Joey Hess2011-10-29
|
* 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.
* Fail if --from or --to is passed to commands that do not support them.Gravatar Joey Hess2011-10-27
|
* refactored and generalized pre-command sanity checkingGravatar Joey Hess2011-10-27
|
* break out non-log stuff to separate moduleGravatar Joey Hess2011-10-15
|
* reorganize log modulesGravatar Joey Hess2011-10-15
| | | | no code changes
* minor syntax changesGravatar Joey Hess2011-10-11
|
* renameGravatar Joey Hess2011-10-05
|
* renameGravatar Joey Hess2011-10-04
|
* factor out common importsGravatar Joey Hess2011-10-03
| | | | no code changes
* refactorGravatar Joey Hess2011-09-23
|
* move annex.numcopies parsing into withNumCopiesGravatar Joey Hess2011-09-15
|
* clean up params in usage displayGravatar Joey Hess2011-09-15
|
* simplifyGravatar 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.
* refactorGravatar Joey Hess2011-09-06
|
* add json formatted list of remotesGravatar Joey Hess2011-09-01
| | | | | Wherever a list of remotes is shown, --json now enables a json formatted list.
* split groups of related functions out of UtilityGravatar Joey Hess2011-08-22
|
* finished hlint passGravatar Joey Hess2011-07-15
|
* renameGravatar Joey Hess2011-07-05
|
* remove unused backend machineryGravatar Joey Hess2011-07-05
| | | | | | | | | | | | | The only remaining vestiage of backends is different types of keys. These are still called "backends", mostly to avoid needing to change user interface and configuration. But everything to do with storing keys in different backends was gone; instead different types of remotes are used. In the refactoring, lots of code was moved out of odd corners like Backend.File, to closer to where it's used, like Command.Drop and Command.Fsck. Quite a lot of dead code was removed. Several data structures became simpler, which may result in better runtime efficiency. There should be no user-visible changes.
* add web special remoteGravatar Joey Hess2011-07-01
| | | | | Generalized LocationLog to PresenceLog, and use a presence log to record urls for the web special remote.
* improve bare repo handingGravatar Joey Hess2011-06-22
| | | | | Many more commands can work in bare repos now, thanks to the git-annex branch.
* fixed logFileGravatar Joey Hess2011-06-22
|
* move LocationLog into Annex monad from IOGravatar Joey Hess2011-06-22
| | | | It will need to run in Annex so it can use Branch
* refactor some boilerplateGravatar Joey Hess2011-05-15
|
* Avoid using absolute paths when staging location log, as that can confuse ↵Gravatar Joey Hess2011-04-25
| | | | | | | | | | | git when a remote's path contains a symlink. Closes: #621386 This was a real PITA to fix, since location logs can be staged in both the current repo, as well as in local remote's repos, in which case the cwd will not be in the repo. And git add needs different params in both cases, when absolute paths are not used. In passing, git annex fsck now stages location log fixes.
* fsck: Ensure that files and directories in .git/annex/objects have proper ↵Gravatar Joey Hess2011-03-28
| | | | permissions.
* avoid version check before running version and upgrade commandsGravatar Joey Hess2011-03-19
| | | | | There are two types of commands; those that access the repository and those that don't. Sorted.
* fix up commands that are trouble on bare reposGravatar Joey Hess2011-03-03
| | | | | Most will just abort. init does a basic init and gives a command to run elsewhere to finish it.
* fsck: Check for and repair location log damage.Gravatar Joey Hess2011-03-02
|
* make filename available to fsck messagesGravatar Joey Hess2011-01-26
|
* parameterize Backend typeGravatar Joey Hess2011-01-25
| | | | | This allows the Backend type to not depend on the Annex type, and so the Annex type can later be moved out of TypeInternals.
* clarify default values when no path is specifiedGravatar Joey Hess2011-01-13
| | | | | Much of the code to handle this was unnecessary, as git ls-files is used, and defaults to returning all files of the desired type.
* refactor in preparation for adding a git-annex-shell commandGravatar Joey Hess2010-12-30
|
* rename some stuff and prepare to break out more into Command/*Gravatar Joey Hess2010-12-30
|
* change name of numcopies attributeGravatar Joey Hess2010-11-28
|
* In .gitattributes, the git-annex-numcopies attribute can be used to control ↵Gravatar Joey Hess2010-11-28
| | | | the number of copies to retain of different types of files.
* finished hlintingGravatar Joey Hess2010-11-22
|
* fixGravatar Joey Hess2010-11-15
|