Commit graph

29 commits

Author SHA1 Message Date
Joey Hess
0cfe1a5127 cleanup 2012-09-25 11:49:36 -04:00
Joey Hess
37dff15ade add osxapp target
Not fully tested.
2012-09-24 19:42:45 -04:00
Jimmy Tang
8144daae1a Ignore some OSX related files which should never end up in the repo 2012-09-23 10:30:32 +01:00
Joey Hess
68f1be8f0a Merge branch 'master' into assistant
Conflicts:
	Makefile
	debian/copyright
2012-08-20 16:04:56 -04:00
Joey Hess
08db0b9fa3 ignore build-stamp 2012-08-20 16:03:47 -04:00
Joey Hess
e2c86a4b58 extacted Mounts.hsc from hsshellscript
Converted from using c2hs to using hsc2hs, just because other code
in git-annex uses hsc2hs.

Various cleanups.

This code is LGPLed, so I had to include that licence.
2012-07-19 12:53:39 -04:00
Joey Hess
3c8a9043b6 skeleton C library for calling kqueue 2012-06-18 12:25:20 -04:00
Joey Hess
66a961b1b7 remove cabal file 2012-06-12 11:35:24 -04:00
Nathan Collins
9fe433390d Remove .dir-locals.el and add doc/contributing.mdwn.
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.
2012-06-12 00:43:42 -07:00
Nathan Collins
7753b33c88 Refactor generation of git-annex.cabal and incorporate man pages.
The existing `sed | find | perl` hack in the Makefile was not
including the man pages in the generated git-annex.cabal.  I couldn't
figure out why it didn't work; running the `find | perl` part of the
command *did* list the man pages ...

So, I set up a new hack. It produces a cleaner .cabal file and
includes the man pages in the sdist.  I changed git-annex.cabal and
its generation as follows:

- git-annex.cabal is now generated by a here document in
  git-annex.cabal.template.sh.  The here document has inline file list
  insertion, whereas before the file lists were inserted with sed.

- The 'Extra-Source-Files:' field now only includes the non-source
  files: the man pages, plain text documentation, and license.

- The source dependencies are now listed in 'Other-Modules' sections
  in the 'Executable' and 'Test-Suite' sections.  The list of
  dependencies is generated by `gen-other-modules.sh`.

- The ./debian and ./doc are no longer included in the sdist package.
  These were not installed anywhere by `cabal install`.  A user that
  wants them could clone the git repo.

Running the tests with cabal is not yet working, i.e.

  cabal configure --enable-tests && cabal build && cabal test

and

  cabal install --enable-tests

fail to find Utility.Touch.  However, I did not break this: it doesn't
work for the git-annex package on Hackage either.  Next step is to
figure out how to deal with HSC in cabal ... or not bother, because
`make test` works.  I'm worried this is a cabal bug.

To test building from sdist, I've been running

  cd ../.. ; cabal sdist ; cd dist ; tar xf git-annex-3.20120605.tar.gz && cd git-annex-3.20120605 && rm -fr /tmp/git-annex && cabal install --prefix=/tmp/git-annex && tree -A /tmp/git-annex

in the dist directory.  Using `cabal-dev install` is a better test,
but is very slow.
2012-06-11 00:12:11 -07:00
Nathan Collins
721de7067c Add cabal-dev to .gitignore. 2012-06-10 19:03:35 -07:00
Joey Hess
f377cbc129 update 2012-04-30 14:23:18 -04:00
Joey Hess
d820099c8f makefile tweaks
Put build cruft in a subdir
2012-03-15 00:04:28 -04:00
Joey Hess
d926e29b9f update ignores 2012-01-05 23:21:03 -04:00
Joey Hess
203148363f split groups of related functions out of Utility 2011-08-22 16:14:12 -04:00
Joey Hess
737b5d14c9 moved files around 2011-08-20 16:11:42 -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
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
a47ed922e1 add Remote.Directory 2011-03-30 13:24:36 -04:00
Joey Hess
8ede2e255f add StatFS.hsc, copied from xmobar 2011-03-22 15:53:07 -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
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
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
54513c69ba Add configure step to build process.
* configure: Check to see if cp -a can be used.
* configure: Check to see if cp --reflink=auto can be used.
2010-11-18 13:30:42 -04:00
Joey Hess
25b014ec26 update 2010-11-10 10:52:59 -04:00
Joey Hess
7bc4435ffd update 2010-10-19 15:59:40 -04:00
Joey Hess
50630840ee build in subdir 2010-10-14 03:46:34 -04:00
Joey Hess
c67521741a add 2010-10-10 00:18:16 -04:00