summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* releasing version 3.201203153.20120315Gravatar Joey Hess2012-03-15
|
* fix option order in usage displayGravatar Joey Hess2012-03-15
|
* shave some 12 mb from the installed sizeGravatar Joey Hess2012-03-15
| | | | | | * git-annex now behaves as git-annex-shell if symlinked to and run by that name. The Makefile sets this up, saving some 8 mb of installed size. * git-union-merge is a demo program, so it is no longer built by default.
* oh darn, I lost the crazy capitalization of hS3 a while agoGravatar Joey Hess2012-03-15
|
* makefile tweaksGravatar Joey Hess2012-03-15
| | | | Put build cruft in a subdir
* added ifM and nuked 11 lines of codeGravatar Joey Hess2012-03-14
| | | | no behavior changes
* updateGravatar Joey Hess2012-03-14
|
* no-bloom branchGravatar Joey Hess2012-03-14
|
* Merge branch 'master' into bloomGravatar Joey Hess2012-03-14
|\ | | | | | | | | | | Conflicts: Command/Commit.hs debian/changelog
| * ignore hook exit statusGravatar Joey Hess2012-03-14
| |
| * Merge branch 'master' of ssh://git-annex.branchable.comGravatar Joey Hess2012-03-14
| |\
| | * Added a commentGravatar http://joey.kitenet.net/2012-03-14
| | |
| * | check hook executabilityGravatar Joey Hess2012-03-14
| | |
| * | git-annex-shell: Runs hooks/annex-content after content is received or dropped.Gravatar Joey Hess2012-03-14
| | |
* | | check hook executabilityGravatar Joey Hess2012-03-14
| | |
* | | git-annex-shell: Runs hooks/annex-content after content is received or dropped.Gravatar Joey Hess2012-03-14
| | |
| | * (no commit message)Gravatar https://www.google.com/accounts/o8/id?id=AItOawm2MUhwzcOSnZfYnmWu7_2dMrH4064OKyQ2012-03-14
| |/
| * Work around a bug in rsync (IMHO) introduced by openSUSE's SIP patch.Gravatar Joey Hess2012-03-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | openSUSE patches rsync with a patch adding SIP protocol support. https://gist.github.com/2026167 With this patch, running rsync with no hostname parameter is apparently supposed to list SIP hosts on the network. Practically, it does nothing and exits 0. git-annex uses rsync in a very special way to allow git-annex-shell to be run on the remote host, and so did not need to specify a hostname, or a file to transfer as a rsync parameter. So it sent ":", a degenerate case of "host:file". But the patch cannot differentiate ":" with no host parameter (a bug in the SIP patch surely). Results were that getting files failed, as rsync seemed to succeed, but the requested file failed to arrive. Also I think that sending files will make git-annex think a file has been transferred to the remote when really rsync does nothing. The workaround for this buggy rsync patch is to use "dummy:" as the hostname.
* | Merge branch 'master' into bloomGravatar Joey Hess2012-03-12
|\| | | | | | | | | Conflicts: doc/todo/git-annex_unused_eats_memory.mdwn
| * note fixedGravatar Joey Hess2012-03-12
| |
* | Merge branch 'master' into bloomGravatar Joey Hess2012-03-12
|\| | | | | | | | | Conflicts: debian/changelog
* | closeGravatar Joey Hess2012-03-12
| |
| * bloom branchGravatar Joey Hess2012-03-12
| |
* | 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?
* | added second stage bloom filterGravatar Joey Hess2012-03-12
| |
* | fixed bloom filter creation space leakGravatar Joey Hess2012-03-12
| | | | | | | | it works!
| * FormattingGravatar https://www.google.com/accounts/o8/id?id=AItOawl-J5N9y-JBa_GcOQ4VQXIF8MjAtxgN67w2012-03-12
| |
| * Added a commentGravatar http://joey.kitenet.net/2012-03-12
| |
* | try at using bloom filtersGravatar Joey Hess2012-03-12
| | | | | | | | leaks memory
| * (no commit message)Gravatar https://www.google.com/accounts/o8/id?id=AItOawne9wwsAaMzo0kGyidj6PW_3_IA8eeDv7Y2012-03-12
| |
| * status: More accurate display of sizes of tmp and bad keys.Gravatar Joey Hess2012-03-12
|/ | | | | | | | | Can't trust the key size to be accurate for tmp and bad keys, so check actual file size. In the wild I saw the old code be wrong by a factor of about 100! If all tmp/bad keys are empty, they're not shown in status at all. Showing 0 bytes and suggesting to clean it up seemed weird..
* prettifyGravatar Joey Hess2012-03-11
|
* avoid needing to keep list of present keysGravatar Joey Hess2012-03-11
| | | | | | Stale and bad files are rare, so it's more efficient to use inAnnex to see if they can be deleted, rather than keeping the list of all present keys around for them.
* moveGravatar Joey Hess2012-03-11
|
* getKeysPresent is now fully lazyGravatar Joey Hess2012-03-11
| | | | | | | | | | | | .. Allowing it to be used by things in constant space! Random statistics: git annex status has gone from taking 239 mb of memory and 26 seconds in a repo, to 8 mb and 13 seconds. The trick here is the unsafeInterleaveIO, and the form of the function's recursion, which I cribbed heavily from System.IO.HVFS.Utils.recurseDirStat. The difference is, this one goes to a limited depth and avoids statting everything.
* status: Fixed to run in nearly constant space.Gravatar Joey Hess2012-03-11
| | | | | | | | Before, it leaked space due to caching lists of keys. Now all necessary data about keys is calculated as they stream in. The "nearly constant" is due to getKeysPresent, which builds up a lot of [] thunks as it traverses .git/annex/objects/. Will deal with it later.
* unused: Reduce memory usage significantly.Gravatar Joey Hess2012-03-11
| | | | | | | | | | | | | | | | | Much of the memory bloat turned out to be due to getKeysReferenced containing a mapM, which is strict and buffered the whole list rather than streaming it. The other half of the bloat was due to building a temporary Set in order to call S.difference. While that is more cpu efficient, I switched to successive S.delete, since with it, I can run a whole git annex unused in less than 8 mb of memory. The whole Set of keys with content available is still stored in memory, so running unused in a repo with a whole lot of file content will still use more memory. In a repo containing 6000 files, it needed 40 mb. Note that the status command still uses the bloatful getKeysReferenced.
* fix linkGravatar Joey Hess2012-03-11
|
* fix linkGravatar Joey Hess2012-03-11
|
* Merge branch 'master' of ssh://git-annex.branchable.comGravatar Joey Hess2012-03-11
|\
| * Added a commentGravatar http://joey.kitenet.net/2012-03-11
| |
| * (no commit message)Gravatar http://claimid.com/FooBarWidget2012-03-11
| |
* | remove cruftGravatar Joey Hess2012-03-10
|/
* sync: Sync to lower cost remotes first.Gravatar Joey Hess2012-03-10
| | | | | | | | | This has two benefits. 1. When a lot of refs are going to be received, get them via lower cost connection when possible. 2. Allows ctrl-c of sync after the cheaper remotes have been pulled from (or pushed to).
* fsck: Fix up any broken links and misplaced content caused by the directory ↵Gravatar Joey Hess2012-03-10
| | | | hash calculation bug fixed in the last release.
* Setup.hs: import configureGravatar Joey Hess2012-03-10
| | | | | | | | | | Rather than running make, which runs configure, let Setup.hs just include the configure code. The standalone configure is retained for use by the Makefile. This may work better with cabal-dev, since it avoids the Makefile running ghc, and lets cabal handle all the compiler running, with whatever flags it uses to expose dependencies.
* move text dependency into same block with the other dependenciesGravatar Joey Hess2012-03-10
|
* add other-modules for hsc filesGravatar Joey Hess2012-03-10
|
* perhaps more clear typeGravatar Joey Hess2012-03-10
|
* cleanupGravatar Joey Hess2012-03-09
|