Commit graph

360 commits

Author SHA1 Message Date
Joey Hess
dc12ce762e -Wall clean 2010-10-31 14:23:51 -04:00
Joey Hess
6a9a9bd5a3 another memory optimisation
This time memory leaked if lots of UUIDs needed to be pretty-printed, as in
a get or drop of many files. Essentially the same strict read buffering
problem that affected the LocationLog underneath though.

uuidMap really could stand to be cached, as the uuid log is read many times
in this case. But it is a fairly edge case.
2010-10-31 01:51:50 -04:00
Joey Hess
59672d32ed write to tmp file
Writing to a tmp file means no locking is needed, and it fixes a bug
introduced by the last commit, which made log files be read lazily, so
they could still be open when written, which breaks due to haskell's
internal locking.
2010-10-31 01:06:58 -04:00
Joey Hess
d5a0c16298 more space saving by not locking location log for read
Actions that need to read all the location logs, like "git annex get .",
were still using a lot of memory, and profiling pointed at the location log
reading as the problem. Not locking them for read, and thus avoiding the
strict reading fixes the problem, although I don't quite understand why.
(Oddly, -sstderr profiling did not show the memory as used, though top
showed dozens of MB being used.)

Anyway, it's fine to not lock location logs for read, since the log format
and parser should be safe if a partial read of a file being written happens.
Note that that could easily happen anyway, if doing a git pull, etc,
especially if git needs to union merge in changes from elsewhere. The worst
that will happen is git-annex could get a bad or out of date idea about
locations and refuse to eg, --drop something.
2010-10-30 23:34:40 -04:00
Joey Hess
c2651d64bc Fixed memory leak; git-annex no longer reads the whole file list from git before starting, and will be much faster with large repos. 2010-10-30 23:19:33 -04:00
Joey Hess
963bfa9673 cpp not needed 2010-10-30 22:47:34 -04:00
Joey Hess
465fb0ebc4 link to ask.debian.net 2010-10-30 20:43:05 -04:00
Joey Hess
765c9fa82d meh 2010-10-30 17:38:20 -04:00
Joey Hess
140b999aca Merge remote branch 'branchable/master' 2010-10-30 17:29:42 -04:00
Joey Hess
583e8118d4 ok, let's just use extensible-exceptions 2010-10-30 17:29:11 -04:00
Joey Hess
fad1616e68 build fix 2010-10-30 17:26:45 -04:00
http://users.itk.ppke.hu/~cstamas/openid/
8edc7a0e43 formatting fix 2010-10-30 19:46:39 +00:00
http://users.itk.ppke.hu/~cstamas/openid/
2be74a60df reply to joey 2010-10-30 19:40:17 +00:00
Joey Hess
b4a218e078 meh 2010-10-30 15:15:04 -04:00
Joey Hess
128eaa7073 note 2010-10-30 15:11:11 -04:00
Joey Hess
23da029b75 Support building with Debian stable's ghc. 2010-10-30 15:10:10 -04:00
Joey Hess
83715949c9 response 2010-10-30 15:03:34 -04:00
http://users.itk.ppke.hu/~cstamas/openid/
d1fd2c1428 2010-10-30 17:25:38 +00:00
Joey Hess
c88d493945 changelog 2010-10-29 17:38:12 -04:00
Joey Hess
8e158b7cec use -z with git-ls-files, to support files with odd chars 2010-10-29 17:37:05 -04:00
Joey Hess
c9347693d7 factor out stagedFiles 2010-10-29 17:26:26 -04:00
Joey Hess
7c0777c60d avoid unnessary newlines before progress in quiet mode 2010-10-29 14:10:55 -04:00
Joey Hess
d92f186fc4 convert safeSystem to boolSystem
to fix ctrl-c handling
2010-10-29 14:07:26 -04:00
Joey Hess
fa04c36fbe ikiwiki is not really needed 2010-10-29 13:59:48 -04:00
Joey Hess
e930b19e76 Merge remote branch 'branchable/master' 2010-10-29 13:59:02 -04:00
Joey Hess
e3030196b6 really fix SIGINT handling
Have to completly avoid SIGINT being trapped, which means going very
low-level.
2010-10-29 13:57:22 -04:00
Joey Hess
fde01e52f3 Fix SIGINT handling. 2010-10-29 12:38:41 -04:00
Joey Hess
694a33e91b syntax tweaks 2010-10-28 14:20:02 -04:00
Joey Hess
ecfbc01ff8 Add --verbose 2010-10-28 14:04:22 -04:00
Joey Hess
5c2c652d7d Fix support for file:// remotes. 2010-10-28 13:47:10 -04:00
Joey Hess
3e02977814 took Josh's asvice and unified the Repo data types & used pattern matching more 2010-10-28 13:40:10 -04:00
Joey Hess
7109e20e5d tweak 2010-10-28 12:52:40 -04:00
Joey Hess
045b051ec1 got rid of almost all 'return ()' 2010-10-28 12:40:05 -04:00
Joey Hess
9c7b3dce9e tweaks 2010-10-28 12:15:21 -04:00
Eugen_Paiuc
ca667f5612 2010-10-28 03:07:02 +00:00
Joey Hess
1118b4a646 idea 2010-10-27 19:27:01 -04:00
Joey Hess
2de5f51a57 xargs needed 2010-10-27 19:10:28 -04:00
Joey Hess
27d28b0bf2 add news item for git-annex 0.02 2010-10-27 16:57:36 -04:00
Joey Hess
833d4b342e copyright statements 2010-10-27 16:53:54 -04:00
Joey Hess
d47fb4c11e symlinks 2010-10-27 15:14:59 -04:00
Joey Hess
e44c7d1136 update 2010-10-27 15:08:46 -04:00
Joey Hess
46f9525351 warning about sha1 2010-10-27 15:02:05 -04:00
Joey Hess
7bd7cca399 some work on the sha1 backend; still incomplete 2010-10-27 15:00:41 -04:00
Joey Hess
d92730bef6 tweaks 2010-10-27 14:48:59 -04:00
Joey Hess
7c65a18f1f doc pointer 2010-10-27 14:40:50 -04:00
Joey Hess
3874b978ab update 2010-10-27 14:39:21 -04:00
Joey Hess
563484e135 pre-commit hook 2010-10-27 14:33:44 -04:00
Joey Hess
3281a1cb19 don't try to set up .gitattributes every time; only do it on git annex init 2010-10-27 13:55:28 -04:00
Joey Hess
4e7c27f58b tweak 2010-10-27 13:39:45 -04:00
Joey Hess
5b4fa4aeca use xargs 2010-10-27 13:12:02 -04:00