Commit graph

3867 commits

Author SHA1 Message Date
Nathan Collins
b86f201bdf Rename git-annex.cabal. 2012-06-10 19:17:51 -07:00
Nathan Collins
721de7067c Add cabal-dev to .gitignore. 2012-06-10 19:03:35 -07:00
Nathan Collins
f4b82e31b4 Fix Makefile dependencies for make test. 2012-06-10 18:59:16 -07:00
Nathan Collins
d76afc8152 Replace indentation spaces by tabs in Setup.hs. 2012-06-10 02:21:13 -07:00
Nathan Collins
4453351ca4 Add a .dir-locals.el that configures emacs' treatment of tabs.
The Haskell code uses tabs for indentation, and displays well with
tab-width set to 2.  So, I created a .dir-locals.el (applies to all
files opened in emacs at or below ./), which sets 'tab-width' to 2,
turns on 'indent-tabs-mode', and highlights leading spaces in
'haskell-mode'.
2012-06-10 02:11:40 -07:00
Nathan Collins
6c8507ee1b Combine post install commands in 'postInst' and add 'postCopy' hook.
The creation of the 'git-annex-shell' symlink was in 'postInst' hook.
I combined it with the man-page installation in a 'postInst' hook and
a 'postCopy' hook.  I don't understand how to use the `cabal copy`
command, but the examples I looked at defined both hooks.

Relevant comments from the source:

* man-page installation:

  See http://www.haskell.org/haskellwiki/Cabal/Developer-FAQ#Installing_manpages.

  Based on pandoc's and lhs2tex's 'Setup.installManpages' and
  'postInst' hooks.

  My understanding: 'postCopy' is run for `cabal copy`, 'postInst' is
  run for `cabal inst`, and copy is not a generalized install, so you
  have to write two nearly identical hooks.

  Summary of hooks:
  http://www.haskell.org/cabal/release/cabal-latest/doc/API/Cabal/Distribution-Simple-UserHooks.htm--
  Other people are also confused:

  * Bug: 'postCopy' and 'postInst' are confusing:
  http://hackage.haskell.org/trac/hackage/ticket/718

  * A cabal maintainer suggests using 'postCopy' instead of
  'postInst', because `cabal install` is `cabal copy` followed by
  `cabal register`:
  http://www.haskell.org/pipermail/libraries/2008-March/009416.html
  Although that sounds desirable, it's not true, as the reply and
  experiments indicate.

* the `cabal copy` command:

  ???: Not sure how you're supposed to use this.  E.g., when I do

     cabal install --prefix=/tmp/git-annex-install
     cabal copy --deistdir=/tmp/git-annex-copy

  I get the copy under

    /tmp/git-annex-copy/tmp/git-annex-install

  Also, `cabal install` fails when given a relative --prefix.
2012-06-09 23:39:51 -07:00
Nathan Collins
7eb649612a Merge branch 'master' into cabal-man-pages 2012-06-09 20:48:32 -07:00
Nathan Collins
2b29a02285 Make man pages when making sdist. 2012-06-09 20:46:41 -07:00
http://joeyh.name/
6a71a9729f Added a comment 2012-06-09 23:01:29 +00:00
https://www.google.com/accounts/o8/id?id=AItOawldKnauegZulM7X6JoHJs7Gd5PnDjcgx-E
3a213ced1e Added a comment: open source? 2012-06-09 22:34:31 +00:00
Joey Hess
affd52be0e response 2012-06-09 17:07:40 -04:00
http://rmunn.myopenid.com/
6c8f76ca28 New idea: using youtube-dl to download video URLs 2012-06-09 18:54:14 +00:00
http://joeyh.name/
3141c36f2e Added a comment 2012-06-09 18:07:51 +00:00
https://www.google.com/accounts/o8/id?id=AItOawkSq2FDpK2n66QRUxtqqdbyDuwgbQmUWus
c388e90dc9 Added a comment 2012-06-08 15:21:21 +00:00
https://www.google.com/accounts/o8/id?id=AItOawkSq2FDpK2n66QRUxtqqdbyDuwgbQmUWus
12afa8fb56 Added a comment 2012-06-08 07:22:34 +00:00
Nathan Collins
817a42056b Add note about lhs2tex's man page installation. 2012-06-07 19:01:49 -07:00
http://joeyh.name/
63290903aa Added a comment 2012-06-08 01:56:52 +00:00
Joey Hess
4f6b522d8c update 2012-06-07 21:40:31 -04:00
Joey Hess
109bd9c08b blog for the day 2012-06-07 21:37:59 -04:00
https://www.google.com/accounts/o8/id?id=AItOawkSq2FDpK2n66QRUxtqqdbyDuwgbQmUWus
3f03e58dc6 removed 2012-06-07 20:25:14 +00:00
https://www.google.com/accounts/o8/id?id=AItOawkSq2FDpK2n66QRUxtqqdbyDuwgbQmUWus
b778b9b345 Added a comment 2012-06-07 20:23:09 +00:00
https://www.google.com/accounts/o8/id?id=AItOawkSq2FDpK2n66QRUxtqqdbyDuwgbQmUWus
021325ce71 Added a comment 2012-06-07 20:22:58 +00:00
Joey Hess
4d1c114e4d initremote: Automatically describe a remote when creating it.
This ensures that all special remotes show up in git annex status.
Before, a special remote that was not manually described, and was not
a current git remote, did not show up there, although initremote did list
it.
2012-06-07 11:16:48 -04:00
Joey Hess
8408a91082 fixie 2012-06-07 10:37:06 -04:00
http://joeyh.name/
2478aca3c5 Added a comment 2012-06-07 04:48:15 +00:00
https://www.google.com/accounts/o8/id?id=AItOawnBJ6Dv1glxzzi4qIzGFNa6F-mfHIvv9Ck
c7efb2888c Added a comment: Wording 2012-06-07 03:43:19 +00:00
http://joeyh.name/
54f5462ad4 Added a comment 2012-06-06 23:25:57 +00:00
https://www.google.com/accounts/o8/id?id=AItOawkmtR6oVColYKoU0SjBORLDGrwR10G-mKo
9ee59f62d5 Added a comment: Dropbox Inotify 2012-06-06 22:03:29 +00:00
Joey Hess
baf9c7102e blog for the day 2012-06-06 16:56:48 -04:00
Joey Hess
a79aebbe2a update 2012-06-06 16:54:39 -04:00
Joey Hess
8aa194bf80 update 2012-06-06 15:51:34 -04:00
Joey Hess
e17bc40c31 update 2012-06-06 15:24:51 -04:00
Joey Hess
81d4991fa3 thoughts 2012-06-06 15:13:18 -04:00
Joey Hess
899334223f fixed 2 races! Only 1 serious race to go! 2012-06-06 14:33:12 -04:00
Joey Hess
455fca65bf layout 2012-06-06 11:58:08 -04:00
Nathan Collins
6f17b2fb39 WIP: Add man page installation to Setup.hs
This works with `cabal-dev install .`, but `cabal sdist` does not yet
include the man pages (tried adding a `make $(mans)` before `cabal
sdist` in `make sdist`, but no luck).

XXX: Need to go back and replace spaces with tabs.
2012-06-06 02:35:32 -07:00
Nathan Collins
1cfd2e1c05 Remove INSTALL note about man pages. 2012-06-06 01:57:31 -07:00
Joey Hess
f596084a59 move hashObject to HashObject library and generalize it to support all git object types 2012-06-06 02:31:31 -04:00
Joey Hess
f1bd72ea54 factor out generic update-index code from unionmerge code 2012-06-06 00:10:34 -04:00
Joey Hess
141fa3c94d update 2012-06-06 00:01:17 -04:00
Nathan Collins
f5261f60c3 Make standalone man-page installation possible
The `cabal install git-annex` doesn't install the man pages, and the
Makefile only installed the man pages as part of a full build/install.
So, I factored out the documentation parts of the Makefile.
2012-06-05 20:36:42 -07:00
Joey Hess
d41c1134cb daily blog 2012-06-05 20:54:56 -04:00
Joey Hess
d05a22b5f6 closed a race, although a less likely similar one remains 2012-06-05 20:34:25 -04:00
Joey Hess
c981ccc077 add: Prevent (most) modifications from being made to a file while it is being added to the annex.
Anything that tries to open the file for write, or delete the file,
or replace it with something else, will not affect the add.

Only if a process has the file open for write before add starts
can it still change it while (or after) it's added to the annex.
(fsck will catch this later of course)
2012-06-05 20:28:34 -04:00
Joey Hess
5809f33f8b use createAnnexDirectory when setting up tmp dir 2012-06-05 20:25:32 -04:00
Joey Hess
f8d422fe24 update test suite 2012-06-05 19:54:44 -04:00
Joey Hess
d3cee987ca separate source of content from the filename associated with the key when generating a key
This already made migrate's code a lot simpler.
2012-06-05 19:51:03 -04:00
Joey Hess
77188ff04d update 2012-06-05 19:03:39 -04:00
Joey Hess
b5c617b623 one more 2012-06-05 18:54:25 -04:00
Joey Hess
40456953c2 another one 2012-06-05 15:20:13 -04:00