summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* fishy commitGravatar Joey Hess2012-06-14
|
* updateGravatar Joey Hess2012-06-13
|
* Merge branch 'master' into watchGravatar Joey Hess2012-06-13
|\
| * typoGravatar Joey Hess2012-06-13
| |
| * blog for the dayGravatar Joey Hess2012-06-13
| |
* | check for unstaged old symlinks in the sanity checkerGravatar Joey Hess2012-06-13
| |
* | add sanity checker threadGravatar Joey Hess2012-06-13
| | | | | | | | Currently wakes up once a day, and does nothing. :)
* | slightly higher-level thread scheduling codeGravatar Joey Hess2012-06-13
| | | | | | | | | | Including support for unbound thread sleeping. Haskell's max thread sleep is 37 minutes, due to maxBound Int!
* | lsofGravatar Joey Hess2012-06-13
| |
| * Merge branch 'master' of ssh://git-annex.branchable.comGravatar Joey Hess2012-06-13
| |\
| * | bugGravatar Joey Hess2012-06-13
| | |
* | | tweakGravatar Joey Hess2012-06-13
| | |
* | | Merge branch 'master' into watchGravatar Joey Hess2012-06-13
|\| |
* | | finish daemon status threadGravatar Joey Hess2012-06-13
| | |
* | | implement daemon status serialization to a fileGravatar Joey Hess2012-06-13
| | | | | | | | | | | | | | | Also afterLastDaemonRun, with 10 minute slop to handle majority of clock skew issues.
* | | reorganizeGravatar Joey Hess2012-06-13
| | |
* | | optimise link staging at startupGravatar Joey Hess2012-06-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | plumb file status through to event handlersGravatar Joey Hess2012-06-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | move commentGravatar Joey Hess2012-06-13
| | |
| | * Added a comment: librsyncGravatar http://abhidg.myopenid.com/2012-06-13
| |/
| * blog for the dayGravatar Joey Hess2012-06-12
| |
* | optimisation and memory leak fixGravatar Joey Hess2012-06-12
| |
* | tweakGravatar Joey Hess2012-06-12
| |
| * updateGravatar Joey Hess2012-06-12
| |
* | do fewer commits during long batch jobsGravatar Joey Hess2012-06-12
| | | | | | | | 10 thousand queue size does not use appreciable memory in my testing.
* | better optimisation of add checkGravatar Joey Hess2012-06-12
| | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | fix bug that turned files already in git into symlinksGravatar Joey Hess2012-06-12
| | | | | | | | | | | | 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.
* | add a flag indicating if an event was synthesized during initial dir scanGravatar Joey Hess2012-06-12
| |
* | cleanupGravatar Joey Hess2012-06-12
| |
* | Merge branch 'master' into watchGravatar Joey Hess2012-06-12
|\| | | | | | | | | | | Conflicts: debian/changelog git-annex.cabal
| * remove xxx ... cabal test works for meGravatar Joey Hess2012-06-12
| |
| * tweakGravatar Joey Hess2012-06-12
| |
| * Install man page when run by cabal, in a location where man will find it, ↵Gravatar Joey Hess2012-06-12
| | | | | | | | even when installing under $HOME. Thanks, Nathan Collins
| * cleanupGravatar Joey Hess2012-06-12
| |
| * remove cabal fileGravatar Joey Hess2012-06-12
| |
* | hlintGravatar Joey Hess2012-06-12
| |
| * Merge branch 'master' into cabal-man-pagesGravatar Nathan Collins2012-06-12
| |\
| * | Clean up Setup.hs.Gravatar Nathan Collins2012-06-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | Generate sdist tarball name from git-annex.cabal 'Version:'.Gravatar Nathan Collins2012-06-12
| | | | | | | | | | | | Instead of generating with `cabal sdist`.
| * | Simplify git-annex.cabal and generate sdist with make-sdist.sh.Gravatar Nathan Collins2012-06-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | Get ready for a simple git-annex.cabal.Gravatar Nathan Collins2012-06-12
| | | | | | | | | | | | | | | | | | | | | I have a new idea: instead of the template-based approaches that work around cabals requirement that you list all files to put in the sdist, we can simply generate the sdist ourselves, with the files we want. Take that cabal!
| * | Remove .dir-locals.el and add doc/contributing.mdwn.Gravatar Nathan Collins2012-06-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add link CONTRIBUTING -> doc/contributing.mdwn, so that it's easy to find (many files in doc/). Add .dir-locals.el to .gitignore, now that it's no longer versioned. The CONTRIBUTING file gives a reference to a page on the Emacs wiki that shows how to set up a .dir-locals.el that sets up tabs for indentation. I updated the wiki page to include the `(highlight-regexp "^ *")` part, which had been the hardest to discover.
| * | Add link COPYRIGHT -> debian/copyright; add COPYRIGHT to sdist.Gravatar Nathan Collins2012-06-11
| | |
* | | Merge branch 'master' into watchGravatar Joey Hess2012-06-11
|\ \ \ | | |/ | |/|
| * | blog for the dayGravatar Joey Hess2012-06-11
| | |
* | | updateGravatar Joey Hess2012-06-11
| | |
* | | avoid using STM while the MVar is heldGravatar Joey Hess2012-06-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I thought this might be a lock conflict that explains the deadlock when built with -threaded, but it seems not.. it still locks! It even locks without the committer thread. Indeed, it locks when running "git annex add"! -threaded is exposing some other problem. Still, this seems conceptually cleaner and did not add any inneficiencies. Also added some high-level documentation about the threads used.
* | | tweakGravatar Joey Hess2012-06-11
| | |
* | | Revert "Build with ghc's threaded runtime, so threaded code does not busy-wait."Gravatar Joey Hess2012-06-11
| | | | | | | | | | | | | | | | | | This reverts commit 129f6123fe933310829986fd5a99a9fd6911ca0f. Saw hang during batch add with -threaded, so deferred for now.
* | | Build with ghc's threaded runtime, so threaded code does not busy-wait.Gravatar Joey Hess2012-06-11
| | | | | | | | | | | | Sort of a work around for http://bugs.debian.org/677096