aboutsummaryrefslogtreecommitdiff
path: root/git-annex.cabal
Commit message (Collapse)AuthorAge
* debian architecture build funGravatar Joey Hess2013-05-19
|
* Switch to MonadCatchIO-transformers for better handling of state while ↵Gravatar Joey Hess2013-05-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | catching exceptions. As seen in this bug report, the lifted exception handling using the StateT monad throws away state changes when an action throws an exception. http://git-annex.branchable.com/bugs/git_annex_fork_bombs_on_gpg_file/ .. Which can result in cached values being redundantly calculated, or other possibly worse bugs when the annex state gets out of sync with reality. This switches from a StateT AnnexState to a ReaderT (MVar AnnexState). All changes to the state go via the MVar. So when an Annex action is running inside an exception handler, and it makes some changes, they immediately go into affect in the MVar. If it then throws an exception (or even crashes its thread!), the state changes are still in effect. The MonadCatchIO-transformers change is actually only incidental. I could have kept on using lifted-base for the exception handling. However, I'd have needed to write a new instance of MonadBaseControl for the new monad.. and I didn't write the old instance.. I begged Bas and he kindly sent it to me. Happily, MonadCatchIO-transformers is able to derive a MonadCatchIO instance for my monad. This is a deep level change. It passes the test suite! What could it break? Well.. The most likely breakage would be to code that runs an Annex action in an exception handler, and *wants* state changes to be thrown away. Perhaps the state changes leaves the state inconsistent, or wrong. Since there are relatively few places in git-annex that catch exceptions in the Annex monad, and the AnnexState is generally just used to cache calculated data, this is unlikely to be a problem. Oh yeah, this change also makes Assistant.Types.ThreadedMonad a bit redundant. It's now entirely possible to run concurrent Annex actions in different threads, all sharing access to the same state! The ThreadedMonad just adds some extra work on top of that, with its own MVar, and avoids such actions possibly stepping on one-another's toes. I have not gotten rid of it, but might try that later. Being able to run concurrent Annex actions would simplify parts of the Assistant code.
* releasing version 4.201305164.20130516Gravatar Joey Hess2013-05-16
|
* use unix-compat, removed a lot of stubs in Utility.FileModeGravatar Joey Hess2013-05-11
|
* avoid build depending on unix in windowsGravatar Joey Hess2013-05-10
|
* stub out posix stuff for WindowsGravatar Joey Hess2013-05-10
| | | | This is enough to let the configure program build.
* Avoid depending on regex-tdfa on mips, mipsel, and s390, where it fails to ↵Gravatar Joey Hess2013-05-06
| | | | build.
* Disable building with the haskell threaded runtime when the assistant is not ↵Gravatar Joey Hess2013-05-06
| | | | built. This may fix builds on s390x and sparc, which are failing to link -lHSrts_thr
* avoid crashing on Android when file mode of .git/annex/url cannot be setGravatar Joey Hess2013-05-03
| | | | | Presumably, if the filesystem doesn't support file permissions, it's not much of a multiuser system.
* Temporarily add an upper bound to the version of yesod that can be built ↵Gravatar Joey Hess2013-05-02
| | | | with, since yesod 1.2 has a great many changes that will require extensive work on the webapp.
* work around strange endianness bug in port number on AndroidGravatar Joey Hess2013-05-02
|
* releasing version 4.201305014.20130501Gravatar Joey Hess2013-05-01
|
* add TList, built on DListGravatar Joey Hess2013-04-24
|
* revert addition of Includes: sys/event.h in cabal fileGravatar Joey Hess2013-04-24
| | | | | | | | | | | | | That is very dodgy; it makes *every* C file compiled have that header added to it. Apparently sys/event.h needs some other header files to be included on some OS's, and so this leads to compile failures in completely unrelated places to the code that actually uses sys/event.h This reverts commit a767040a53182cde16434cba686252bbaf776cf9, which added this with no rationalle and I must have missed in amoung the other patches when merging. Also, Utility/kqueue.c already includes sys/event.h
* enable webdav on androidGravatar Joey Hess2013-04-19
|
* releasing version 4.201304174.20130417Gravatar Joey Hess2013-04-17
|
* Fall back to internal url downloader when built without curl.Gravatar Joey Hess2013-04-16
|
* use Extensions instead of -XGravatar Joey Hess2013-04-14
|
* turn on PackageImports globallyGravatar Joey Hess2013-04-13
| | | | | | | This will make it easier to use the Evil Splicer, when it needs to add package qualified imports And there's no real downside.
* webapp: New --listen= option allows running the webapp on one computer and ↵Gravatar Joey Hess2013-04-08
| | | | | | | connecting to it from another. Does not yet use HTTPS. I'd need to generate a certificate, and I'm not sure what's the best way to do that.
* prep release4.20130405Gravatar Joey Hess2013-04-05
|
* avoid displaying alert when syncing only to removable drives and all not ↵Gravatar Joey Hess2013-03-27
| | | | attached
* prep for release tomorrowGravatar Joey Hess2013-03-22
|
* closeGravatar Joey Hess2013-03-18
|
* another hamlet compat fixGravatar Joey Hess2013-03-14
|
* got hdevtools working on the git-annex source treeGravatar Joey Hess2013-03-12
|
* Switch from using regex-compat to regex-tdfa, as the C regex library is ↵Gravatar Joey Hess2013-03-08
| | | | rather buggy.
* fix android app upgrade hangGravatar Joey Hess2013-02-28
| | | | rm was blocked waiting for input
* revertGravatar Joey Hess2013-02-28
|
* fix 2 bugs in android runshellGravatar Joey Hess2013-02-28
|
* blog for the dayGravatar Joey Hess2013-02-28
|
* finish removing fast flagGravatar Joey Hess2013-02-28
|
* remove Fast flag, pass -O0 to cabalGravatar Joey Hess2013-02-28
|
* git-annex.cabal: let the 'Fast' flag default to 'False' unless it's ↵Gravatar Peter Simons2013-02-28
| | | | | | | | | | | | explicitly specified The current use of the 'Fast' and 'Production' flags is both inconsistent and redundant. It's inconsistent, because users are allowed to specify both '-fFast -fProduction' at the same time -- thereby enabling two contradicting features. The flags are redundant, because Cabal allows users to specify '-O0' at configure time, which is essentially the same as '-fFast'. Since 'Production' is just the opposite of 'Fast', this means that neither flag is needed.
* git-annex.cabal: declare dependency on <sys/event.h> header file when ↵Gravatar Peter Simons2013-02-28
| | | | building on BSD
* git-annex.cabal: relax 'mtl >= 2.1' constraint to 'mtl >= 2'Gravatar Peter Simons2013-02-28
| | | | | Git-annex doesn't actually depend on mtl version 2.1. By relaxing this constraint, builds can succeed on Ubuntu 12.04.
* Stop depending on testpack.Gravatar Joey Hess2013-02-27
|
* faster fast buildsGravatar Joey Hess2013-02-27
|
* disable test suite on AndroidGravatar Joey Hess2013-02-27
| | | | Cannot get QuickCheck to install just now.
* embed test suite into git annex; available by running: git annex testGravatar Joey Hess2013-02-27
| | | | | | | | | | | | | | I have seen some other programs do this, and think it's pretty cool. Means you can test wherever it's deployed, as well as at build time. My other reason for doing it is less happy. Cabal's handling of test suites sucks, requiring duplicated info, and even when that's done, it fails to preprocess hsc files here. Building it in avoids that and avoids having to explicitly tell cabal to enable test suites, which would then make it link the test executable every time, which is unnecessarily slow. This also has the benefit that now "make fast test" does a max speed build and tests it.
* add android flag; misc other flag fixesGravatar Joey Hess2013-02-27
| | | | | | Stopped checking the assistant flag for flags like webapp and xmpp, because cabal disables the assistant if the other flag's dependencies cannot be satisfied.
* add Production flagGravatar Joey Hess2013-02-27
|
* consistent formatGravatar Joey Hess2013-02-27
|
* no need to globally enable CPP in cabal, it's enabled where neededGravatar Joey Hess2013-02-27
|
* expose regex-compatGravatar Joey Hess2013-02-26
|
* cleanup WITH_GLOBGravatar Joey Hess2013-02-26
|
* fix * glob matching files in subdirectoriesGravatar Joey Hess2013-02-26
|
* git-annex.cabal: strip trailing whitespaceGravatar Peter Simons2013-02-23
|
* git-annex.cabal: add missing 'random' and 'uuid' dependencies to the test suiteGravatar Peter Simons2013-02-23
|
* git-annex.cabal: specify '-DWITH_GLOB' in cpp-options, not ghc-optionsGravatar Peter Simons2013-02-23
|