Commit graph

4205 commits

Author SHA1 Message Date
https://www.google.com/accounts/o8/id?id=AItOawl9sYlePmv1xK-VvjBdN-5doOa_Xw-jH4U
20744d3146 Added a comment: Battery usage 2012-06-15 09:57:34 +00:00
https://www.google.com/accounts/o8/id?id=AItOawkSq2FDpK2n66QRUxtqqdbyDuwgbQmUWus
fb33e55a6e Added a comment 2012-06-15 08:58:18 +00:00
http://dieter-be.myopenid.com/
c51c4685f2 Added a comment: filesystem number of open file handles on a file 2012-06-15 08:21:37 +00:00
http://wiggy.net/
1d5246fb20 Added a comment: os compatibility 2012-06-15 07:19:24 +00:00
Joey Hess
c24e86c7e1 add news item for git-annex 3.20120614 2012-06-14 20:34:10 -04:00
Joey Hess
8492f1c182 releasing version 3.20120614 2012-06-14 20:32:06 -04:00
Joey Hess
ca9d94a0ad addurl: Was broken by a typo introduced 2 released ago, now fixed. Closes: #677576 2012-06-14 20:20:03 -04:00
Joey Hess
06caf52f03 blog for the day 2012-06-14 20:06:43 -04:00
Joey Hess
6b56abf215 hard problems are fun? 2012-06-14 12:43:23 -04:00
Joey Hess
686760befc typo 2012-06-14 12:27:30 -04:00
Joey Hess
e0095b0bdc fishy commit 2012-06-14 00:01:48 -04:00
Joey Hess
89dad12b35 update 2012-06-13 19:32:09 -04:00
Joey Hess
b1a4d55836 Merge branch 'master' into watch 2012-06-13 19:30:13 -04:00
Joey Hess
a40dc2d390 typo 2012-06-13 19:30:07 -04:00
Joey Hess
6be8cc1802 blog for the day 2012-06-13 19:26:22 -04:00
Joey Hess
8919c2e4da check for unstaged old symlinks in the sanity checker 2012-06-13 19:25:47 -04:00
Joey Hess
4b9b9b4947 add sanity checker thread
Currently wakes up once a day, and does nothing. :)
2012-06-13 17:54:23 -04:00
Joey Hess
36d73b0017 slightly higher-level thread scheduling code
Including support for unbound thread sleeping. Haskell's max thread sleep
is 37 minutes, due to maxBound Int!
2012-06-13 17:53:19 -04:00
Joey Hess
24370fa3ac lsof 2012-06-13 15:03:26 -04:00
Joey Hess
e7bb454bed Merge branch 'master' of ssh://git-annex.branchable.com 2012-06-13 14:32:25 -04:00
Joey Hess
f9cc2acc71 bug 2012-06-13 14:32:11 -04:00
Joey Hess
7575c5bb56 tweak 2012-06-13 14:19:21 -04:00
Joey Hess
24da48816d Merge branch 'master' into watch 2012-06-13 14:03:38 -04:00
Joey Hess
59a7b3a51a finish daemon status thread 2012-06-13 14:02:40 -04:00
Joey Hess
ff2414427b implement daemon status serialization to a file
Also afterLastDaemonRun, with 10 minute slop to handle majority of clock
skew issues.
2012-06-13 13:35:15 -04:00
Joey Hess
ccc5005245 reorganize 2012-06-13 12:46:39 -04:00
Joey Hess
c31ddeda84 optimise link staging at startup
Now it starts really, really fast! Down from 15 minutes or so on my big
tree to around 1 minute.

The trick is to remember the last time the daemon was running. Links with a
ctime from before that point don't need to be restaged on startup (as long
as they are correct), since the old daemon would have handled them already.

We also assume that if the daemon has never run before, any links that
already exist are good. The pre-commit hook fixes links, so this should be
a safe assumption.

Adds another MVar holding a DaemonStatus data structure. Also
allowed getting rid of the Annex.Fast hack. This data structure will
probably grow a lot of details about the daemon's status, that will
later be used by the webapp's UI.

The code to actually track when the daemon was last running is not written
yet. It's 3 am.
2012-06-13 02:56:16 -04:00
Joey Hess
12dbb9d1d0 plumb file status through to event handlers
The idea, not yet done, is to use this to detect when a file
has an old change time, and avoid expensive restaging of the file.

If git-annex watch keeps track of the last time it finished a full scan,
then any symlink that is older than that time must have been scanned
before, so need not be added. (Relying on moving, copying, etc of a file
all updating its change time.)

Anyway, this info is available for free since inotify already checks it,
so it might as well make it available.
2012-06-13 01:20:37 -04:00
Joey Hess
ab076b2e81 move comment 2012-06-13 00:57:48 -04:00
http://abhidg.myopenid.com/
22eab4cd0f Added a comment: librsync 2012-06-13 02:14:29 +00:00
Joey Hess
c156675797 blog for the day 2012-06-12 21:29:01 -04:00
Joey Hess
da62edb42a optimisation and memory leak fix 2012-06-12 21:13:15 -04:00
Joey Hess
7d458c40db tweak 2012-06-12 19:36:11 -04:00
Joey Hess
74aa310ad6 update 2012-06-12 17:01:52 -04:00
Joey Hess
cb2255e93a do fewer commits during long batch jobs
10 thousand queue size does not use appreciable memory in my testing.
2012-06-12 16:25:56 -04:00
Joey Hess
b240418acc better optimisation of add check
Now really only done in the startup scan.

It turns out to be quite hard for event handlers to know when the startup
scan is complete. I tried to make addWatch pass that info, but found
threading the state very difficult. For now, a quick hack, using the fast
flag.

Note that it's actually possible for inotify events to come in while the
startup scan is still ongoing. Due to my hack, the expensive check will
be done for files added in such inotify events.
2012-06-12 16:24:06 -04:00
Joey Hess
7d2c813396 fix bug that turned files already in git into symlinks
This requires a relatively expensive test at file add time to see if it's
in git already. But it can be optimised to only happen during the startup
scan.
2012-06-12 15:57:24 -04:00
Joey Hess
535d9e4998 add a flag indicating if an event was synthesized during initial dir scan 2012-06-12 14:34:09 -04:00
Joey Hess
d3b9b32f21 cleanup 2012-06-12 13:54:00 -04:00
Joey Hess
2e5ea30981 Merge branch 'master' into watch
Conflicts:
	debian/changelog
	git-annex.cabal
2012-06-12 13:37:17 -04:00
Joey Hess
4ebb0b51d7 remove xxx ... cabal test works for me 2012-06-12 11:48:31 -04:00
Joey Hess
5f5f7b1a9f tweak 2012-06-12 11:38:16 -04:00
Joey Hess
0e944fd0e9 Install man page when run by cabal, in a location where man will find it, even when installing under $HOME. Thanks, Nathan Collins 2012-06-12 11:36:42 -04:00
Joey Hess
7b3b6e4654 cleanup 2012-06-12 11:35:32 -04:00
Joey Hess
66a961b1b7 remove cabal file 2012-06-12 11:35:24 -04:00
Joey Hess
942d8f7298 hlint 2012-06-12 11:32:06 -04:00
Nathan Collins
fd40af6e62 Merge branch 'master' into cabal-man-pages 2012-06-12 02:54:27 -07:00
Nathan Collins
000bbba3c0 Clean up Setup.hs.
Remove post-copy hook 'myPostCopy': it's easy to write one based on
'myPostInst', so just wait until someone complains that it's missing.

Remove most comments.

Put long type sigs on one line like in the other source files.
2012-06-12 02:50:09 -07:00
Nathan Collins
2e0965eba9 Generate sdist tarball name from git-annex.cabal 'Version:'.
Instead of generating with `cabal sdist`.
2012-06-12 02:45:53 -07:00
Nathan Collins
79a71d9ba6 Simplify git-annex.cabal and generate sdist with make-sdist.sh.
The `cabal install` is happy as long as the files it needs are
present, but `cabal sdist` will only package up files you tell it to.
So, generate the source tarball ourselves.

The source tarball is generated by make-sdist.sh, which uses cabal
sdist to calculate the package name.  Could also generate the name
from the 'Version:' field in git-annex.cabal.
2012-06-12 02:36:05 -07:00