summaryrefslogtreecommitdiff
path: root/Annex.hs
Commit message (Collapse)AuthorAge
* 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.
* rename GitQueue to Git.QueueGravatar Joey Hess2011-06-30
|
* 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.
* Branch handling improvementsGravatar Joey Hess2011-06-22
| | | | | | | | Support creating the branch. Unified branch state into a single data type. Only commit changes when the index has been changed.
* add a small cache of the most recently accessed item from the git-annex branchGravatar Joey Hess2011-06-22
| | | | | | | | | | | This will speed up typical cases like git-annex get, which currently has to read the location log once, then read it a second time in order to add a line to it. Since these reads now involve more than just reading in a file, it seemed good to add a cache layer. Only the most recent thing needs to be cached, because git-annex has good locality; it operates on one file at a time, and only cares about one item from the branch per file.
* code to update a git-annex branchGravatar Joey Hess2011-06-21
| | | | | | | | | | | | | | | There is no suitable git hook to run code when pulling changes that might need to be merged into the git-annex branch. The post-merge hook is only run when changes are merged into HEAD, and it's possible, and indeed likely that many pulls will only have changes in git-annex, but not in HEAD, and not trigger it. So, git-annex will have to take care to update the branch before reading from it, to make sure it has merged in current info from remotes. Happily, this can be done quite inexpensively, just a git-show-ref to list branches, and a minimalized git-log to see if there are unmerged changes on the branches. To further speed up, it will be done only once per git-annex run, max.
* pointless golfingGravatar Joey Hess2011-06-20
|
* rename modules for data types into Types/ directoryGravatar Joey Hess2011-06-01
|
* 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
|
* --backend now overrides any backend configured in .gitattributes files.Gravatar Joey Hess2011-05-18
|
* more monadic operator useGravatar Joey Hess2011-05-15
|
* Control.Monad.State import fix for debian stableGravatar Joey Hess2011-04-26
| | | | | It doesn't export `state` there, so hiding it fails. Just list explicitly what we use.
* ghc7Gravatar Joey Hess2011-04-21
| | | | | | | | | * Update Debian build dependencies for ghc 7. * Debian package is now built with S3 support. Thanks Joachim Breitner for making this possible, also thanks Greg Heartsfield for working to improve the hS3 library for git-annex. Also hid a conflicting new symbol from Control.Monad.State
* add cipher field to AnnexStateGravatar Joey Hess2011-04-16
|
* Periodically flush git command queue, to avoid boating memory usage too much.Gravatar Joey Hess2011-04-07
| | | | | | | Since the queue is flushed in between subcommand actions being run, there should be no issues with actions that expect to queue up some stuff and have it run after they do other stuff. So I didn't have to audit for such assumptions.
* some reorg and further remote generalizationGravatar Joey Hess2011-03-27
|
* add remotes slot to AnnexGravatar Joey Hess2011-03-27
| | | | This required parameterizing the type for Remote, to avoid a cycle.
* fast modeGravatar Joey Hess2011-03-22
| | | | | | | | | | Add --fast flag, that can enable less expensive, but also less thurough versions of some commands. * Add --fast flag, that can enable less expensive, but also less thurough versions of some commands. * fsck: In fast mode, avoid checking checksums. * unused: In fast mode, just show all existing temp files as unused, and avoid expensive scan for other unused content.
* use queue when upgrading, flushing every so oftenGravatar Joey Hess2011-03-16
| | | | | | | | | | | | | | | | | Added a cheap way to query the size of a queue. runQueueAt is not the default yet only because there may be some code that expects to be able to queue some suff, do something else, and run the whole queue at the end. 10240 is an arbitrary size for the queue. If we assume annexed filenames are between 10 and 255 characters long, then the queue will build up between 100kb and 2550kb long commands. The max command line length on linux is somewhere above 20k, so this is a fairly good balance -- the queue will buffer only a few megabytes of stuff and a minimal number of commands will be run by xargs. Also, insert queue items strictly, this should save memory.
* rename fileGravatar Joey Hess2011-03-15
|
* move repoConfig out of RemotesGravatar Joey Hess2011-03-05
|
* renameGravatar Joey Hess2011-02-28
|
* use ShellParam typeGravatar Joey Hess2011-02-28
| | | | | So, I have a type checked safe handling of filenames starting with dashes, throughout the code.
* hello, liftMGravatar Joey Hess2011-02-19
|
* rename TypeInternals to BackendTypesGravatar Joey Hess2011-01-26
| | | | Now that it only contains types used by the backends
* 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.
* successfully split Annex and AnnexState out of TypeInternalsGravatar Joey Hess2011-01-25
|
* 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.
* better typesGravatar Joey Hess2011-01-11
|
* use git-annex-shell configlistGravatar Joey Hess2010-12-31
|
* rename some stuff and prepare to break out more into Command/*Gravatar Joey Hess2010-12-30
|
* add queueRunGravatar Joey Hess2010-11-08
|
* Add annex.version, which will be used to automate upgrades.Gravatar Joey Hess2010-11-08
|
* hlinted a few filesGravatar Joey Hess2010-11-06
|
* finished adding support for annex.ssh-optionsGravatar Joey Hess2010-11-01
|
* simplify evalsGravatar Joey Hess2010-10-31
|
* more Wall cleaningGravatar Joey Hess2010-10-31
|
* got rid of almost all 'return ()'Gravatar Joey Hess2010-10-28
|
* copyright statements0.02Gravatar Joey Hess2010-10-27
|
* add git queue to Annex monadGravatar Joey Hess2010-10-26
| | | | not used anywhere just yet..
* new fromkey subcommand, for registering urls, etc0.01Gravatar Joey Hess2010-10-21
| | | | had to redo Annex monad's flag storage
* gratuitous renameGravatar Joey Hess2010-10-18
|
* pruneGravatar Joey Hess2010-10-17
|
* move supportedBackends list into annex monadGravatar Joey Hess2010-10-17
| | | | | | | This was necessary so the File backend could import Backend w/o a cycle. Moved code that checks whether enough backends have a file into File backend.
* tweaksGravatar Joey Hess2010-10-16
|
* avoid empty commitsGravatar Joey Hess2010-10-14
|
* add flags, and change to subcommand styleGravatar Joey Hess2010-10-14
|