summaryrefslogtreecommitdiff
path: root/Command/Status.hs
Commit message (Collapse)AuthorAge
* reorganize some files and importsGravatar Joey Hess2014-01-26
|
* fix inversion of control in CommandSeek (no behavior changes)Gravatar Joey Hess2014-01-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | I've been disliking how the command seek actions were written for some time, with their inversion of control and ugly workarounds. The last straw to fix it was sync --content, which didn't fit the Annex [CommandStart] interface well at all. I have not yet made it take advantage of the changed interface though. The crucial change, and probably why I didn't do it this way from the beginning, is to make each CommandStart action be run with exceptions caught, and if it fails, increment a failure counter in annex state. So I finally remove the very first code I wrote for git-annex, which was before I had exception handling in the Annex monad, and so ran outside that monad, passing state explicitly as it ran each CommandStart action. This was a real slog from 1 to 5 am. Test suite passes. Memory usage is lower than before, sometimes by a couple of megabytes, and remains constant, even when running in a large repo, and even when repeatedly failing and incrementing the error counter. So no accidental laziness space leaks. Wall clock speed is identical, even in large repos. This commit was sponsored by an anonymous bitcoiner.
* status: Support --json.Gravatar Joey Hess2014-01-18
|
* no status in bare repoGravatar Joey Hess2013-11-07
|
* add new status commandGravatar Joey Hess2013-11-07
| | | | | | | | | | | | | | | This works for both direct and indirect mode. It may need some performance tuning. Note that unlike git status, it only shows the status of the work tree, not the status of the index. So only one status letter, not two .. and since files that have been added and not yet committed do not differ between the work tree and the index, they are not shown. Might want to add display of the index vs the last commit eventually. This commit was sponsored by an unknown bitcoin contributor, whose contribution as been going up lately! ;)
* rename status to info, and update docsGravatar Joey Hess2013-11-07
|
* more clear labelsGravatar Joey Hess2013-10-28
|
* rename "known annex keys" to "known annex items"Gravatar Joey Hess2013-10-28
|
* Merge branch 'master' into incrementalfsckGravatar Joey Hess2013-10-13
|\
| * status: Fix a crash if a temp file went away while its size was being ↵Gravatar Joey Hess2013-10-13
| | | | | | | | checked for status.
* | Merge branch 'master' into incrementalfsckGravatar Joey Hess2013-10-11
|\|
| * avoid committing git-annex branch journal when running statusGravatar Joey Hess2013-10-11
| |
* | queue downloads of keys that fsck finds with bad contentGravatar Joey Hess2013-10-10
|/
* Revert "use vector in local status", which was not an improvementGravatar Joey Hess2013-10-07
| | | | This reverts commit c0caa37187e9c062825dd6d5cb6be2dfa63bc7dd.
* use vector in local statusGravatar Joey Hess2013-10-07
| | | | | | Thought was that this would be faster than a map, since a vector can be updated more efficiently. It turns out to not seem to matter; runtime and memory usage are basically identical.
* status: Fix space leak in local mode, introduced in version 4.20130920.Gravatar Joey Hess2013-10-07
| | | | Actually fixed 2 leaks, the tuple leak may have been older.
* Moved list of backends and remote types from status to version command.Gravatar Joey Hess2013-10-01
|
* hlintGravatar Joey Hess2013-09-25
| | | | test suite still passes
* make --fast disable the numcopies statsGravatar Joey Hess2013-09-15
| | | | Looking up the location log for every key is not the fastest operation..
* status: In local mode, displays information about variance from configured ↵Gravatar Joey Hess2013-09-15
| | | | numcopies levels.
* status: No longer shows dead repositories.Gravatar Joey Hess2013-06-17
| | | | | This is because people continually whine about it. Seemingly not aware that data generally cannot be deleted from git anyway.
* refactorGravatar Joey Hess2013-05-24
|
* fix permission damage (thanks, Windows)Gravatar Joey Hess2013-05-11
|
* git-annex now builds on Windows (doesn't work)Gravatar Joey Hess2013-05-11
|
* improve usage messagesGravatar Joey Hess2013-04-20
|
* turn on PackageImports globallyGravatar Joey Hess2013-04-13
| | | | | | | This will make it easier to use the Evil Splicer, when it needs to add package qualified imports And there's no real downside.
* add section metadata to all commandsGravatar Joey Hess2013-03-24
| | | | Not yet used .. mindless train work.
* skip non-directories in statusGravatar Joey Hess2013-03-11
|
* status: Can now be run with a directory path to show only the status of that ↵Gravatar Joey Hess2013-03-11
| | | | directory, rather than the whole annex.
* type based git config handling for remotesGravatar Joey Hess2013-01-01
| | | | | Still a couple of places that use git config ad-hoc, but this is most of it done.
* type based git config handlingGravatar Joey Hess2012-12-29
| | | | | | | | | | | Now there's a Config type, that's extracted from the git config at startup. Note that laziness means that individual config values are only looked up and parsed on demand, and so we get implicit memoization for all of them. So this is not only prettier and more type safe, it optimises several places that didn't have explicit memoization before. As well as getting rid of the ugly explicit memoization code. Not yet done for annex.<remote>.* configuration settings.
* show direct/indirect modeGravatar Joey Hess2012-12-13
|
* where indentationGravatar Joey Hess2012-11-12
|
* deal with mtl/monads-tf conflictGravatar Joey Hess2012-10-24
| | | | | | I had been using -ignore-package monads-tf to deal with this, but the XMPP library uses monads-tf, so that also ignores it. Instead, use PackageImports to force use of mtl in my own code.
* vicfg: New command, allows editing (or simply viewing) most of the ↵Gravatar Joey Hess2012-10-03
| | | | | | | | | | | repository configuration settings stored in the git-annex branch. Incomplete; I need to finish parsing and saving. This will also be used for editing transfer control expresssions. Removed the group display from the status output, I didn't really like that format, and vicfg can be used to see as well as edit rempository group membership.
* status: display repository groupsGravatar Joey Hess2012-10-02
|
* add routes to pause/start/cancel transfersGravatar Joey Hess2012-08-08
| | | | | | | | | | | | | | | | This commit includes a paydown on technical debt incurred two years ago, when I didn't know that it was bad to make custom Read and Show instances for types. As the routes need Read and Show for Transfer, which includes a Key, and deriving my own Read instance of key was not practical, I had to finally clean that up. So the compact Key read and show functions are now file2key and key2file, and Read and Show are now derived instances. Changed all code that used the old instances, compiler checked. (There were a few places, particularly in Command.Unused, and the test suite where the Show instance continue to be used for legitimate comparisons; ie show key_x == show key_y (though really in a bloom filter))
* wrote transfer threadGravatar Joey Hess2012-07-05
| | | | finally!
* record transfer information on local git remotesGravatar Joey Hess2012-07-01
| | | | | | | | | | | | | | | In order to record a semi-useful filename associated with the key, this required plumbing the filename all the way through to the remotes' storeKey and retrieveKeyFile. Note that there is potential for deadlock here, narrowly avoided. Suppose the repos are A and B. A sends file foo to B, and at the same time, B gets file foo from A. So, A locks its upload transfer info file, and then locks B's download transfer info file. At the same time, B is taking the two locks in the opposite order. This is only not a deadlock because the lock code does not wait, and aborts. So one of A or B's transfers will be aborted and the other transfer will continue. Whew!
* percentage libraryGravatar Joey Hess2012-04-29
|
* show percent the bloom filter is fullGravatar Joey Hess2012-04-29
|
* show amount of reserved spaceGravatar Joey Hess2012-04-23
|
* noopGravatar Joey Hess2012-04-21
|
* use unabbreviated size units in statusGravatar Joey Hess2012-04-06
|
* Rewrote free disk space checking codeGravatar Joey Hess2012-03-22
| | | | | Moving the portability handling into a small C library cleans up things a lot, avoiding the pain of unpacking structs from inside haskell code.
* rationalize getConfigGravatar Joey Hess2012-03-22
| | | | | | | | | | getConfig got a remote-specific config, and this confusing name caused it to be used a couple of places that only were interested in global configs. Rename to getRemoteConfig and make getConfig only get global configs. There are no behavior changes here, but remote.<name>.annex-web-options never actually worked (and per-remote web options is a very unlikely to be useful case so I didn't make it work), so fix the documentation for it.
* tweakGravatar Joey Hess2012-03-22
|
* status: Prints available local disk space, or shows if git-annex doesn't know.Gravatar Joey Hess2012-03-21
|
* Merge branch 'master' into bloomGravatar Joey Hess2012-03-12
|\ | | | | | | | | Conflicts: debian/changelog
* | finish bloom filtersGravatar Joey Hess2012-03-12
| | | | | | | | | | | | | | | | Add tuning, docs, etc. Not sure if status is the right place to remote size.. perhaps unused should report the size and also warn if it sees more keys than the bloom filter allows?