Commit graph

75 commits

Author SHA1 Message Date
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
d820099c8f makefile tweaks
Put build cruft in a subdir
2012-03-15 00:04:28 -04:00
Joey Hess
94d7b323ee remove cruft 2012-03-10 23:02:17 -04:00
Joey Hess
6d3fb5cba7 remove -fspec-constr-count workaround
not needed with ghc 7.4
2012-02-27 14:36:40 -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
9ad52ef67c add hackage target 2012-01-13 15:08:28 -04:00
Joey Hess
f534fcc7b1 remove S3stub stuff
Let's keep that in a no-s3 branch, which can be merged into eg,
debian-stable.
2012-01-05 23:14:10 -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
435a349ef5 increate spec-constr-count
Was getting SpecConstr warnings on Command.Find
2011-12-30 20:20:25 -04:00
Joey Hess
9cfa7a969c note 2011-12-20 16:07:34 -04:00
Joey Hess
f30d545256 remove seemingly unneeded dependencies 2011-12-20 16:02:59 -04:00
Joey Hess
a71c03bc51 add make fast target 2011-11-10 03:10:17 -04:00
Joey Hess
737f043c55 fast build mode for vim 2011-11-09 21:36:11 -04:00
Joey Hess
dab5bddc64 propigate test suite failure
(but not test suite build failure)
2011-10-06 11:12:03 -04:00
Joey Hess
72b54d6170 Fix build without S3. 2011-09-07 10:21:19 -04:00
Joey Hess
ebb92221fd Fix Makefile to work with cabal again. 2011-09-06 15:35:13 -04:00
Joey Hess
b26ee162f3 guess not everyone configures their shell to show nonzero exit codes.. 2011-08-27 12:34:02 -04:00
Joey Hess
737b5d14c9 moved files around 2011-08-20 16:11:42 -04:00
Joey Hess
8c1fa1ab5f add a nasty workaround for a nasty cabal limitation
It croaks on long filenames.. probably >= 100 chars
100 characters was a (historial) limit on filenames in tarballs.
2011-07-07 19:50:14 -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
6488278610 cabal sdist: plan C 2011-07-02 14:58:01 -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
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
Joey Hess
c0fbd3017f ssh 2011-06-22 20:42:00 -04:00
Joey Hess
c835166a7c add git-union-merge
This is a new git subcommand, that does a generic union merge operation
between two refs, storing the result in a branch. It operates efficiently
without touching the working tree. It does need to write out a temporary
index file, and may need to write out some other temp files as well.

This could be useful for anything that stores data in a branch,
and needs to merge changes into that branch without actually checking the
branch out. Since conflict handling can't be done without a working copy,
the merge type is always a union merge, which is fine for data stored in
log format (as git-annex does), or in non-conflicting files
(as pristine-tar does).

This probably belongs in git proper, but it will live in git-annex for now.

---

Plan is to move .git-annex/ to a git-annex branch, and use git-union-merge
to handle merging changes when pulling from remotes.

Some preliminary benchmarking using real .git-annex/ data indicates
that it's quite fast, except for the "git add" call, which is as slow
as "git add" tends to be with a big index.
2011-06-20 21:37:18 -04:00
Joey Hess
db540b746b don't optimise test suite
This avoids needing to adjust -fspec-constr-count, which
continues to need high values (> 8 now) when building the test suite.
2011-05-15 12:32:18 -04:00
Joey Hess
49efc6c399 add -fspec-constr-count workaround
ghc 7 produces these warnings http://hackage.haskell.org/trac/ghc/ticket/4288
The specialization is enabled by -O2, and the default limit of 3 is
there to avoid specialization blowing up binary size. Perhaps that default
is a little low? I needed 4 to avoid a warning on Unused.hs, and 5 to avoid
warnings on test.hs
2011-04-29 13:12:26 -04:00
Joey Hess
8512a4a1a1 Remove testpack from build depends, as it is not available on all architectures.
The test suite will not be run if it cannot be compiled.

It may be possible later to split off the quickcheck using tests into
a separate program and keep most of the tests using just hunit.
2011-04-25 12:43:22 -04:00
Joey Hess
82347fc5ab seems -rtsopts is needed now for profiling 2011-04-21 11:23:44 -04:00
Joey Hess
788fcc2bb4 typo 2011-04-06 21:41:13 -04:00
Joey Hess
094983a2bd support PROFILE=1 to enable profiling 2011-04-05 14:00:51 -04:00
Joey Hess
9c96d86502 nasty hack to build when hS3 is not available
So, it would be nicer to just use Cabal and take advantage
of its conditional compilation support. But, Cabal seems to
lack good support for a package with an internal library that is used by
multiple executables. It wants to build everything twice or more.
That's too slow for me.

Anyway, fairly soon, I expect to upgrade hS3 to a requirment, and I
can just revert this.
2011-03-30 01:32:05 -04:00
Joey Hess
cf99575d74 update 2011-03-28 12:09:47 -04:00
Joey Hess
9f9325aa3d clean too 2011-03-22 18:51:14 -04:00
Jimmy Tang
c44c318eaf Touch up Makefile to depend on StatFS.hs 2011-03-22 18:43:54 -04:00
Joey Hess
25605d18fd generalize 2011-03-22 15:39:36 -04:00
Joey Hess
9d49fe2c17 first pass at using new keys
It compiles. It sorta works. Several subcommands are FIXME marked and
broken, because things that used to accept separate --backend and --key
params need to be changed to accept just a --key that encodes all the key
info, now that there is metadata in keys.
2011-03-15 21:34:13 -04:00
Joey Hess
bc5c54c987 symlink touching fun
When adding files to the annex, the symlinks pointing at the annexed
content are made to have the same mtime as the original file. While git
does not preserve that information, this allows a tool like metastore to be
used with annexed files.
2011-03-14 23:00:23 -04:00
Joey Hess
45387b3fcb Deal with the mtl/monads-fd conflict. 2011-02-08 15:11:49 -04:00
Joey Hess
778966b4f4 improve man building 2011-01-25 18:54:27 -04:00
Joey Hess
4465689cc2 refactor 2011-01-19 20:02:48 -04:00
Joey Hess
f189929b8b workaround ghc weirdness with -odir
The option cause it to always build to build/Main.o, no matter what
binary it was building. This caused extra work, and in some cases,
could cause the wrong code to be put into the final binary.
2011-01-07 02:15:23 -04:00
Joey Hess
87f424eca7 more tests 2011-01-06 21:39:26 -04:00
Joey Hess
aedc46caca cleanup 2011-01-04 21:07:58 -04:00
Joey Hess
759e860e4b add testcoverage target using hpc
added a test for key read and show
2011-01-04 21:05:31 -04:00
Joey Hess
7a52b34e06 add git-annex-shell command
This is not yet complete, as it does not allow starting rsync or scp.
2010-12-30 16:52:24 -04:00
Joey Hess
67c5036579 Makefile: Add GHCFLAGS variable. 2010-12-12 13:17:53 -04:00
Joey Hess
b805b9ae66 Makefile: Add GHCOPTS variable. 2010-12-12 13:16:34 -04:00