Commit graph

173 commits

Author SHA1 Message Date
Joey Hess
49a95f151c add a todo item 2012-04-12 17:51:16 -04:00
Joey Hess
59e2feeda1 Merge branch 'master' into bloom
Conflicts:
	doc/todo/git-annex_unused_eats_memory.mdwn
2012-03-12 16:33:16 -04:00
Joey Hess
6a95240dff note fixed 2012-03-12 16:32:54 -04:00
Joey Hess
8540183a02 close 2012-03-12 16:31:41 -04:00
Joey Hess
b086e32c63 unused: Reduce memory usage significantly.
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.
2012-03-11 16:24:07 -04:00
Joey Hess
e76988f6c2 add 2012-02-14 16:28:16 -04:00
Joey Hess
39e887e8e6 update; unix-compat gets some of the way 2012-02-02 10:56:23 -04:00
Joey Hess
bc130e355e close 2012-01-24 16:22:24 -04:00
Joey Hess
47250a153a ssh connection caching
Ssh connection caching is now enabled automatically by git-annex. Only one
ssh connection is made to each host per git-annex run, which can speed some
things up a lot, as well as avoiding repeated password prompts. Concurrent
git-annex processes also share ssh connections. Cached ssh connections are
shut down when git-annex exits.

Note: The rsync special remote does not yet participate in the ssh
connection caching.
2012-01-20 17:14:56 -04:00
Joey Hess
e96726caa3 better design
Avoids possible repeated password prompts, at the cost of a small bit of
locking complication.
2012-01-19 21:15:13 -04:00
Joey Hess
3783ccf252 design 2012-01-19 20:41:20 -04:00
Joey Hess
50c063df06 add 2012-01-18 17:30:21 -04:00
Joey Hess
de96ee7208 thought 2012-01-18 16:19:57 -04:00
Joey Hess
f4ddecd322 move windows support to a todo item
not holding my breath on this one..
2012-01-13 13:55:14 -04:00
Joey Hess
85f1f3a63a Updated to build with monad-control 0.3. 2011-12-24 23:05:23 -04:00
http://joey.kitenet.net/
cbaf13e587 Added a comment 2011-12-23 18:02:24 +00:00
http://joey.kitenet.net/
d5889f8271 Added a comment 2011-12-23 17:52:21 +00:00
http://adamspiers.myopenid.com/
d3e80eabe8 Added a comment 2011-12-23 17:22:12 +00:00
http://joey.kitenet.net/
0df51acc52 2011-12-23 16:20:43 +00:00
http://joey.kitenet.net/
538665f477 Added a comment 2011-12-23 16:07:39 +00:00
Joey Hess
8a2105c90a Merge branch 'master' of ssh://git-annex.branchable.com 2011-12-23 11:34:10 -04:00
Joey Hess
7227dd8f21 add escape_var hack
Makes it easy to find files with duplicate contents, anyway.. :)
2011-12-23 01:08:19 -04:00
Joey Hess
13a0c292b3 update example to actually work with new --format option 2011-12-23 01:08:19 -04:00
http://adamspiers.myopenid.com/
c02605919b Added a comment: How much memory would it actually use anyway? 2011-12-22 20:15:23 +00:00
http://adamspiers.myopenid.com/
38ad1065c9 Added a comment 2011-12-22 20:04:21 +00:00
https://www.google.com/accounts/o8/id?id=AItOawlrnOT_XLcNNtmIwVdAJCJYu1BwAAOYtBI
1071a3cf02 2011-12-22 19:21:50 +00:00
http://joey.kitenet.net/
30cf6ce81c Added a comment 2011-12-22 16:39:24 +00:00
http://adamspiers.myopenid.com/
6808b08c1a Added a comment: Here's a Perl version 2011-12-22 15:43:52 +00:00
http://adamspiers.myopenid.com/
97bef4af73 Added a comment: List the duplicate filenames, then let the user decide what to do 2011-12-22 12:31:36 +00:00
Joey Hess
38b02de1a8 update 2011-12-15 15:21:03 -04:00
Joey Hess
20d729514a added a branch for the new monad-control 0.3 2011-12-05 22:54:30 -04:00
Joey Hess
2a1e3bceb3 respond 2011-12-05 15:42:02 -04:00
Joey Hess
fd5c979121 fixed a long time ago 2011-12-05 15:38:04 -04:00
http://peter-simons.myopenid.com/
622c2b9b8b 2011-12-05 19:13:20 +00:00
http://peter-simons.myopenid.com/
04e5bf3644 2011-12-05 19:09:14 +00:00
Joey Hess
3953f7ab81 idea 2011-12-01 17:40:26 -04:00
Joey Hess
e83b966eb5 cleanup 2011-11-15 23:51:24 -04:00
Joey Hess
04edae6791 Optimised union merging; now only runs git cat-file once. 2011-11-12 17:45:12 -04:00
Joey Hess
e9bfa8eaed avoid unnecessary auto-merge when only changing a file in the branch.
Avoids doing auto-merging in commands that don't need fully current
information from the git-annex branch. In particular, git annex add no
longer needs to auto-merge. Affected commands: Anything that doesn't
look up data from the branch, but does write a change to it.

It might seem counterintuitive that we can change a value without first
making sure we have the current value. This optimisation works because
these two sequences are equivilant:

1. pull from remote
2. union merge
3. read file from branch
4. modify file and write to branch

vs.

1. read file from branch
2. modify file and write to branch
3. pull from remote
4. union merge

After either sequence, the git-annex branch contains the same logical content
for the modified file. (Possibly with lines in a different order or
additional old lines of course).
2011-11-12 15:15:57 -04:00
Joey Hess
fe4ad93e4a add 2011-11-12 14:46:32 -04:00
Joey Hess
6e946b9a39 add 2011-11-12 14:24:14 -04:00
Joey Hess
05b7608113 update 2011-11-08 01:27:06 -04:00
Joey Hess
1530eac312 closures 2011-10-30 16:57:20 -04:00
Joey Hess
3cf811ead0 update; status is no longer slow 2011-10-30 16:49:49 -04:00
Joey Hess
22e9f445ab unused, dropunused: Now work in bare repositories.
Turned out I had already done all the work needed to support this when
unused started checking all branches.
2011-10-29 19:16:45 -04:00
Joey Hess
c102e63595 status: clean up for bare repositories
The backend usage graph shows present keys as well as keys found in the
repository tree, so it will also be populated for bare repositories.

Changed wording to "visible annex keys", which explains why it's 0 in
a bare repository (no keys visible as no tree), and also why it varies
depending on which branch is checked out. This seemed better than doing
something expensive to look up keys from the git-annex branch.
2011-10-29 19:06:49 -04:00
Joey Hess
2566eb85fe fsck: Now works in bare repositories.
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.
2011-10-29 18:03:28 -04:00
Joey Hess
2eefc58070 status too 2011-10-27 14:55:06 -04:00
https://www.google.com/accounts/o8/id?id=AItOawl9sYlePmv1xK-VvjBdN-5doOa_Xw-jH4U
12a0a45fb1 2011-10-25 21:40:30 +00:00
Joey Hess
e2853b3fec update 2011-10-25 11:39:15 -07:00