Commit graph

429 commits

Author SHA1 Message Date
Joey Hess
f68afa9cc1 add missing data-default dependency (needed with new yesod only) 2012-08-30 12:58:12 -04:00
Joey Hess
38e2dbb1cb remove yesod version parametisation
Seems cabal defaults to trying to satisfy both flags, which cannot works,
and does not fall back to only selecting one, as hoped. While users could
manually specify flags, I don't want to require that to build, so let's
just require the newer yesod version when building with cabal.
2012-08-29 11:59:00 -04:00
Joey Hess
b12db9ef92 Merge branch 'master' into assistant
Conflicts:
	debian/changelog

Updated changelog for assistant and webapp
2012-08-27 13:31:54 -04:00
Joey Hess
0ef7028077 releasing version 3.20120825 2012-08-25 10:27:59 -04:00
Joey Hess
2e1f3a86ae Merge branch 'master' into assistant
Conflicts:
	debian/changelog
2012-08-09 14:03:40 -04:00
Joey Hess
be310ac4d0 support building with yesod-default 1.1.0
Old 1.0.1 version is still supported as well. Cabal autodetects
which version is available, but in the Makefile, WITH_OLD_YESOD
has to be configured appropriately.

I have not squashed all the $newline warnings with the new Yesod.
They should go away eventually anyway as Yesod moves past that transition.
2012-08-09 13:33:04 -04:00
Joey Hess
d99abc1255 releasing version 3.20120807 2012-08-07 13:49:58 -04:00
Joey Hess
2a9077f4e9 fix transfer log cleanup crash
Avoid crashing when "git annex get" fails to download from one location,
and falls back to downloading from a second location.

The problem is that git annex get calls download recursively from within
itself if the first download attempt fails. So the first time through, it
writes a transfer info file, which is then overwritten on the second,
recursive call. Then on cleanup, it tries to delete the file twice, which
of course doesn't work.

Fixed both by not crashing if the transfer file is removed, and by
changing Get to not run download recursively like that. It's the only
thing that did so, and it just seems like a bad idea.
2012-08-07 13:30:08 -04:00
Joey Hess
ffeb060002 don't use hamlet for htmlshim
This allows me to not build-depend on blaze-markup, which was causing
me some trouble when tring to build with cabal on debian. Seems debian
ships Text.Blaze.Renderer.String in two packages.
2012-08-01 21:28:37 -04:00
Joey Hess
ed07546288 add template-haskell build-dep for webapp 2012-08-01 21:04:15 -04:00
Joey Hess
a498be7f98 renamed /status to /transfers
Also fixed a bug; the ident for the div was regnerated each time
/status was called. This only was the same as the original ident due to
luck.
2012-07-28 23:55:41 -04:00
Joey Hess
3305e019db add yesod-default
another dependency cabal works without here, oddly
2012-07-27 12:09:34 -04:00
Joey Hess
df00c6166c update deps
Note that here I don't need blaze-markup for cabal to succeed, but Jimmy
reports he does. Seems like Text.Blaze.Renderer.String moved from blaze to
blaze-markup in some version.
2012-07-26 13:13:23 -04:00
Joey Hess
78002d4976 only enable dbus on linux for now 2012-07-26 13:05:52 -04:00
Joey Hess
6cecc26206 update build deps 2012-07-26 05:13:27 -04:00
Joey Hess
e6ce54de82 build fixes 2012-07-25 22:04:10 -04:00
Joey Hess
32d3cffc4c run yesod, and launch webapp on startup 2012-07-25 21:26:13 -04:00
Joey Hess
e4592649d6 Merge branch 'master' into assistant
Conflicts:
	git-annex.cabal
2012-07-22 12:50:54 -04:00
Joey Hess
b902a2960c releasing version 3.20120721 2012-07-21 17:01:19 -04:00
Joey Hess
107a7b9388 try to make Utility.Mounts portable
This is an unholy mashup, but it just might work. It works on Linux,
that's all I've tested. :)
2012-07-19 20:38:58 -04:00
Joey Hess
f20a40f9d4 MountWatcher thread
Currently only prints mount points when mounts happen.
2012-07-19 13:04:33 -04:00
Joey Hess
d1da9cf221 switch from System.Cmd.Utils to System.Process
Test suite now passes with -threaded!

I traced back all the hangs with -threaded to System.Cmd.Utils. It seems
it's just crappy/unsafe/outdated, and should not be used. System.Process
seems to be the cool new thing, so converted all the code to use it
instead.

In the process, --debug stopped printing commands it runs. I may try to
bring that back later.

Note that even SafeSystem was switched to use System.Process. Since that
was a modified version of code from System.Cmd.Utils, it needed to be
converted too. I also got rid of nearly all calls to forkProcess,
and all calls to executeFile, which I'm also doubtful about working
well with -threaded.
2012-07-18 18:00:24 -04:00
Joey Hess
182526ff68 add debugging 2012-07-17 14:40:05 -04:00
Joey Hess
61786c52ad releasing version 3.20120629 2012-06-29 14:03:03 -04:00
Joey Hess
41fcb3d852 Version build dependency on STM, and allow building without it, which disables the watch command. 2012-06-26 09:15:47 -04:00
Joey Hess
cede7bdcde cabal: Only try to use inotify on Linux. 2012-06-25 11:38:42 -04:00
Joey Hess
a0952dd0f9 releasing version 3.20120624 2012-06-24 12:51:18 -04:00
Joey Hess
91567ab8f6 make inotify a build flag etc 2012-06-17 17:15:56 -04:00
Ben Gamari
0b7047f750 stm package name is lowercase 2012-06-16 13:59:20 +02:00
Joey Hess
53d2e81ffd Merge branch 'master' into watch 2012-06-15 15:20:11 -04:00
Joey Hess
8492f1c182 releasing version 3.20120614 2012-06-14 20:32:06 -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
Nathan Collins
fd40af6e62 Merge branch 'master' into cabal-man-pages 2012-06-12 02:54:27 -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
Nathan Collins
72b0054931 Get ready for a simple git-annex.cabal.
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!
2012-06-12 00:53:51 -07:00
Joey Hess
d3a6f04abf update 2012-06-11 15:41:26 -04:00
Joey Hess
0847a300fc Revert "Build with ghc's threaded runtime, so threaded code does not busy-wait."
This reverts commit 129f6123fe.

Saw hang during batch add with -threaded, so deferred for now.
2012-06-11 12:46:35 -04:00
Joey Hess
129f6123fe Build with ghc's threaded runtime, so threaded code does not busy-wait.
Sort of a work around for http://bugs.debian.org/677096
2012-06-11 12:21:18 -04:00
Joey Hess
a5a3cd55ac Merge branch 'master' into watch
Conflicts:
	debian/changelog
2012-06-11 12:13:07 -04:00
Joey Hess
5a7b7d67f7 releasing version 3.20120611 2012-06-11 10:44:16 -04:00
Nathan Collins
b86f201bdf Rename git-annex.cabal. 2012-06-10 19:17:51 -07:00
Joey Hess
2de50f733a smart commit thread
The commit thread now has access to a channel containing the times of
all uncommitted changes. This lets it be smart about detecting busy times
when a batch job is running (such as rm -rf, or untarring something, etc),
and avoid committing until it's done. While at the same time, instantly
committing one-off changes that the user is going to expect to see
immediately.

I had to use STM to implement the channel, because of
http://hackage.haskell.org/trac/ghc/ticket/4154
While this adds a dependency, I always wanted to use STM, so this actually
makes me happy. ;)

Also happy that shouldCommit is a pure function, so other commit smartness
strategies can easily be played with. Although the current one seems pretty
good.

There is one bug, for some reason it does double commits, every time.
2012-06-10 16:07:48 -04:00
Joey Hess
78f5f90c24 Merge branch 'master' into watch 2012-06-05 14:53:38 -04:00
Joey Hess
8511957c68 releasing version 3.20120605 2012-06-05 14:14:45 -04:00
Joey Hess
59ce18d757 add hinotify dependencies 2012-06-04 13:34:22 -04:00
Joey Hess
ab07762ddb releasing version 3.20120522 2012-05-22 11:27:22 -04:00
Joey Hess
61a5df33d4 releasing version 3.20120511 2012-05-11 12:37:26 -04:00
Joey Hess
76b80d6af0 releasing version 3.20120430 2012-04-30 13:59:28 -04:00
Joey Hess
1b876daad1 remove unneeded dependency 2012-04-22 11:25:26 -04:00
Joey Hess
94e479dd1b simplfy versioned base dependency 2012-04-22 11:22:19 -04:00
Joey Hess
840315c350 releasing version 3.20120418 2012-04-18 12:22:22 -04:00
Joey Hess
61e5663097 make cabal test work again 2012-04-14 15:23:13 -04:00
Joey Hess
626697b459 cabal file now autodetects whether S3 support is available. 2012-04-14 14:22:33 -04:00
Joey Hess
1ca41044e8 cabal now installs git-annex-shell as a symlink to git-annex. 2012-04-14 14:01:14 -04:00
Joey Hess
3642c72320 Renamed diskfree.c to avoid OSX case insensativity bug. 2012-04-13 11:26:39 -04:00
Joey Hess
52a158a7c6 autocorrection
git-annex (but not git-annex-shell) supports the git help.autocorrect
configuration setting, doing fuzzy matching using the restricted
Damerau-Levenshtein edit distance, just as git does. This adds a build
dependency on the haskell edit-distance library.
2012-04-12 15:37:21 -04:00
Joey Hess
29acf62ba3 releasing version 3.20120406 2012-04-07 15:58:13 -04:00
Joey Hess
1424186c0b cabal says I need a tighter version of cabal to use test-suite 2012-04-05 16:39:50 -04:00
Joey Hess
16acc507f3 releasing version 3.20120405 2012-04-05 16:37:44 -04:00
Joey Hess
b9098a3e37 update cabal file for recent changes
also wired the test suite into cabal
2012-03-23 12:42:22 -04:00
Joey Hess
e38a839a80 Rewrote free disk space checking code
Moving the portability handling into a small C library cleans up things
a lot, avoiding the pain of unpacking structs from inside haskell code.
2012-03-22 17:32:47 -04:00
Joey Hess
d2769cf795 shave some 12 mb from the installed size
* git-annex now behaves as git-annex-shell if symlinked to and run by that
  name. The Makefile sets this up, saving some 8 mb of installed size.
* git-union-merge is a demo program, so it is no longer built by default.
2012-03-15 12:00:19 -04:00
Joey Hess
7a65df3223 oh darn, I lost the crazy capitalization of hS3 a while ago 2012-03-15 11:00:29 -04:00
Joey Hess
d820099c8f makefile tweaks
Put build cruft in a subdir
2012-03-15 00:04:28 -04:00
Joey Hess
25809ce2e0 finish bloom filters
Add tuning, docs, etc.

Not sure if status is the right place to remote size.. perhaps unused
should report the size and also warn if it sees more keys than the bloom
filter allows?
2012-03-12 16:18:35 -04:00
Joey Hess
eaa80be917 move text dependency into same block with the other dependencies 2012-03-10 14:00:06 -04:00
Joey Hess
13598d9432 add other-modules for hsc files 2012-03-10 12:47:57 -04:00
Joey Hess
433b5fe59e releasing version 3.20120309 2012-03-09 20:14:34 -04:00
Joey Hess
581dc819e1 version base dependency for ghc 7.4 2012-03-06 17:32:18 -04:00
Joey Hess
fba66c55ed foo 2012-03-04 13:16:35 -04:00
Joey Hess
6571831b92 releasing version 3.20120229 2012-02-29 02:39:44 -04:00
Sergei Trofimovich
8428703d78 git-union-merge: add 'text' to dependencies
Fixes following build failure on ghc-7.4/Cabal-1.14:

    $ runhaskell Setup.hs build
    Building git-annex-3.20120227...
    Preprocessing executable 'git-union-merge' for git-annex-3.20120227...
    Git/Command.hs:11:18:
        Could not find module `Data.Text.Lazy.IO'
        It is a member of the hidden package `text-0.11.1.13'.
        Perhaps you need to add `text' to the build-depends in your .cabal file.
        Use -v to see a list of the files searched for.

Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
2012-02-28 10:40:50 -04:00
Joey Hess
8cae4115a8 releasing version 3.20120227 2012-02-27 13:07:04 -04:00
Joey Hess
4d8afc1713 tweak wording 2012-02-15 19:43:15 -04:00
Joey Hess
9030f68452 When checking that an url has a key, verify that the Content-Length, if available, matches the size of the key.
If there's no Content-Length, or the key has no size, this check is not
done, but it should happen most of the time, and protect against web
content that has changed.
2012-02-10 19:23:41 -04:00
Joey Hess
ce5637498f remove Utility.Conditional and use IfElse
This drops the >>! and >>? with the nice low fixity. IfElse does have
undocumented >>=>>! and >>=>>? operators, but I deem that too fishy.
Anyway, using whenM and unlessM is easier; I sometimes mixed the operators
up.
2012-01-24 16:22:07 -04:00
Joey Hess
20d0288802 releasing version 3.20120123 2012-01-23 15:09:50 -04:00
Joey Hess
2837e8fef1 releasing version 3.20120116 2012-01-16 16:52:26 -04:00
Joey Hess
da6810674c copyright 2012-01-15 14:57:52 -04:00
Joey Hess
ce608303a3 releasing version 3.20120115 2012-01-15 14:02:32 -04:00
Joey Hess
37b5b1bf0d Fix QuickCheck dependency in cabal file. 2012-01-15 13:53:51 -04:00
Joey Hess
81856c3175 add a configure check for StatFS
This way, the build log will indicate whether StatFS can be relied on.
I've tested all the failing architectures now, and on all of them,
the StatFS code now returns Nothing, rather than Just nonsense.

Also, if annex.diskreserve is set on a platform where StatFS is not
working, git-annex will complain.

Also, the Makefile was missing the sources target used when building with
cabal.
2012-01-15 13:49:32 -04:00
Joey Hess
b88ecbdc1b Add libghc-testpack-dev to build depends on all arches. 2012-01-13 15:50:56 -04:00
Joey Hess
3da28cad07 releasing version 3.20120106 2012-01-07 13:50:35 -04:00
Joey Hess
338d472ca2 releasing version 3.20120105 2012-01-05 13:51:13 -04:00
Joey Hess
7e6a54f984 Added quickcheck to build dependencies, and fail if test suite cannot be built. 2012-01-03 14:52:20 -04:00
Joey Hess
9b12701b9e releasing version 3.20111231 2011-12-31 15:07:45 -04:00
Joey Hess
6d4382a89e Merge branch 'new-monad-control' 2011-12-24 23:02:42 -04:00
Joey Hess
13fff71f20 split out three modules from Git
Constructors and configuration make sense in separate modules.
A separate Git.Types is needed to avoid cycles.
2011-12-13 15:06:49 -04:00
Joey Hess
acb2d5a5a6 releasing version 3.20111211 2011-12-11 21:55:51 -04:00
Joey Hess
c5267802f3 version dependency on old monad-control
This should let cabal build it with the right version.
2011-12-10 12:56:02 -04:00
Joey Hess
730041688d add modules needed for using the new monad-control 2011-12-06 13:15:57 -04:00
Joey Hess
ff5df842ea releasing version 3.20111203 2011-12-03 21:13:21 -04:00
Mark Wright
041d324125 Remove haskell98 to build with ghc 7.2.2, also built with ghc 7.0.4
Signed-off-by: Joey Hess <joey@kitenet.net>
2011-11-26 12:05:08 -04:00
Joey Hess
322d9b1cc0 releasing version 3.20111122 2011-11-22 14:40:11 -04:00
Joey Hess
baa07971ff releasing version 3.20111111 2011-11-11 16:29:19 -04:00
Joey Hess
637b5feb45 lint 2011-11-11 01:52:58 -04:00
Joey Hess
f8911cc69d releasing version 3.20111107 2011-11-07 13:06:58 -04:00
Joey Hess
0556dc812e releasing version 3.20111105 2011-11-05 15:55:19 -04:00
Joey Hess
270c1af087 releasing version 3.20111025 2011-10-25 13:46:01 -07:00
Joey Hess
1a29b5b52e reorganize log modules
no code changes
2011-10-15 16:21:08 -04:00
Joey Hess
82d127de99 add git version check to configure
Rather ugly dotted version comparison method, but it does work.
2011-10-12 00:28:33 -04:00
Joey Hess
8ef2095fa0 factor out common imports
no code changes
2011-10-03 23:29:48 -04:00
Joey Hess
7dddb803a0 releasing version 3.20110928 2011-09-28 19:17:12 -04:00
Joey Hess
3e73de4054 releasing version 3.20110915 2011-09-17 09:21:09 -04:00
Joey Hess
6fd0df7c2f releasing version 3.20110906 2011-09-06 15:54:21 -04:00
Joey Hess
7722147e16 add josn build dep 2011-09-06 14:36:51 -04:00
Joey Hess
d238bbd9d9 releasing version 3.20110902 2011-09-02 21:32:05 -04:00
Joey Hess
3786f8d348 releasing version 3.20110819 2011-08-19 20:38:36 -04:00
Joey Hess
f0c2130700 releasing version 3.20110817 2011-08-17 01:34:15 -04:00
Joey Hess
a8a71b9d91 releasing version 3.20110719 2011-07-19 23:52:09 -04:00
Joey Hess
e784757376 hlint tweaks
Did all sources except Remotes/* and Command/*
2011-07-15 03:12:05 -04:00
Joey Hess
2a108982ad add monad-control to build depends
Will use this to handle exceptions in the Annex monad, yay.
2011-07-07 20:53:57 -04:00
Joey Hess
4d4f297c96 releasing version 3.20110707 2011-07-07 19:37:49 -04:00
Joey Hess
d583e04d23 releasing version 3.20110705 2011-07-05 15:21:38 -04:00
Joey Hess
c9a81fa841 update build deps 2011-07-04 19:36:36 -04:00
Joey Hess
5c69ac14eb Drop the dependency on the haskell curl bindings, use regular haskell HTTP. 2011-07-04 19:33:11 -04:00
Joey Hess
84a9fee6f2 fix sdist to include symlinks, without which it doesn't build
oops.. will upload a new minor version to hackage
2011-07-02 17:10:43 -04:00
Joey Hess
48db40857c releasing version 3.20110702 2011-07-02 15:08:05 -04:00
Joey Hess
6488278610 cabal sdist: plan C 2011-07-02 14:58:01 -04:00
Joey Hess
6ba866ca73 updates for web remote and removing URL backend 2011-07-01 15:39:30 -04:00
Joey Hess
3efba481b5 remove Extra-Source-Files nonsense
will need to find a better way to make sdist work, this is not livable
2011-07-01 15:31:36 -04:00
Joey Hess
cdbcd6f495 add web special remote
Generalized LocationLog to PresenceLog, and use a presence log to record
urls for the web special remote.
2011-07-01 15:30:42 -04:00
Joey Hess
b9721fffac cabal check 2011-06-30 19:25:21 -04:00
Joey Hess
b3ab44f8bb add a filelist for cabal sdist
I hate hard-coded 40 kilobyte lone file lists, and just once would like to
see a build system that does not assume it's a good idea to have a file
list, or a hardcoded file list, or a file list that can only be generated
with a crippled form of globs. But not today, thank you cabal.
2011-06-30 15:37:35 -04:00
Joey Hess
20565027cc cabal tweaks 2011-06-30 15:07:10 -04:00
Joey Hess
ee3a0551a7 Merge branch 'master' into v3
Conflicts:
	debian/changelog
2011-06-30 15:01:08 -04:00
Joey Hess
56aeeb4565 cabal can now be used to build git-annex.
This is substantially slower than using make, does not build or install
documentation, does not run the test suite, and is not particularly
recommended, but could be useful to some.
2011-06-30 14:55:03 -04:00