CI to automate build of cargo lockfiles on different Alpine releases for git-annex aports https://gitlab.alpinelinux.org/alpine/aports/-/tree/master/community/git-annex
Find a file
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
Annex factor out generic update-index code from unionmerge code 2012-06-06 00:10:34 -04:00
Backend separate source of content from the filename associated with the key when generating a key 2012-06-05 19:51:03 -04:00
Build check at configure time for sha commands in Mac OSX location 2012-05-31 23:33:07 -04:00
Command initremote: Automatically describe a remote when creating it. 2012-06-07 11:16:48 -04:00
Common lint 2011-11-11 01:52:58 -04:00
debian initremote: Automatically describe a remote when creating it. 2012-06-07 11:16:48 -04:00
doc Added a comment 2012-06-09 23:01:29 +00:00
Git move hashObject to HashObject library and generalize it to support all git object types 2012-06-06 02:31:31 -04:00
Logs use strict insertWith 2012-05-04 00:44:11 -04:00
Messages find --json 2011-12-23 01:08:19 -04:00
Remote use createAnnexDirectory when setting up tmp dir 2012-06-05 20:25:32 -04:00
Types layout 2012-06-06 11:58:08 -04:00
Upgrade Clean up handling of git directory and git worktree. 2012-05-18 17:03:12 -04:00
Utility add dirContentsRecursive 2012-05-31 19:25:33 -04:00
.ghci autoload Common too in ghci 2012-03-24 17:25:47 -04:00
.gitattributes decruft 2011-06-22 18:56:08 -04:00
.gitignore update 2012-04-30 14:23:18 -04:00
Annex.hs Add support for core.worktree, and fix support for GIT_WORK_TREE and GIT_DIR. 2012-05-18 18:20:53 -04:00
Backend.hs separate source of content from the filename associated with the key when generating a key 2012-06-05 19:51:03 -04:00
CHANGELOG symlinks 2010-10-27 15:14:59 -04:00
Checks.hs layout 2012-01-06 21:53:47 -04:00
CmdLine.hs noop 2012-04-21 23:32:33 -04:00
Command.hs added ifM and nuked 11 lines of code 2012-03-14 17:43:34 -04:00
Common.hs factor out Utility.FileSystemEncoding 2012-03-09 19:08:10 -04:00
Config.hs test suite saved my bacon 2012-05-19 10:22:43 -04:00
configure.hs Rewrote free disk space checking code 2012-03-22 17:32:47 -04:00
Crypto.hs refactor 2012-04-29 14:33:07 -04:00
git-annex.cabal releasing version 3.20120605 2012-06-05 14:14:45 -04:00
git-annex.hs shave some 12 mb from the installed size 2012-03-15 12:00:19 -04:00
git-union-merge.hs Add support for core.worktree, and fix support for GIT_WORK_TREE and GIT_DIR. 2012-05-18 18:20:53 -04:00
Git.hs Clean up handling of git directory and git worktree. 2012-05-18 17:03:12 -04:00
GitAnnex.hs import: New subcommand, pulls files from a directory outside the annex and adds them 2012-05-31 19:47:18 -04:00
GitAnnexShell.hs noop 2012-04-21 23:32:33 -04:00
GPL symlinks 2010-10-27 15:14:59 -04:00
Init.hs Clean up handling of git directory and git worktree. 2012-05-18 17:03:12 -04:00
INSTALL symlinks 2010-10-27 15:14:59 -04:00
Limit.hs rename readMaybe to readish 2012-01-23 17:00:10 -04:00
Locations.hs Fix display of warning message when encountering a file that uses an unsupported backend. 2012-05-31 21:03:24 -04:00
Makefile Make man pages when making sdist. 2012-06-09 20:46:41 -07:00
mdwn2man mwdn2man: Fix a bug in newline supression. Closes: #606578 2010-12-10 17:27:02 -04:00
Messages.hs suppress "(Recording state in git)" message when committing change to remote state 2012-05-20 00:14:56 -04:00
NEWS update NEWS 2012-01-19 15:27:39 -04:00
Option.hs fix test suite build 2012-04-30 13:59:05 -04:00
README add README 2011-05-13 19:20:54 -04:00
Remote.hs initremote: Automatically describe a remote when creating it. 2012-06-07 11:16:48 -04:00
Seek.hs import: New subcommand, pulls files from a directory outside the annex and adds them 2012-05-31 19:47:18 -04:00
Setup.hs Combine post install commands in 'postInst' and add 'postCopy' hook. 2012-06-09 23:39:51 -07:00
test.hs update test suite 2012-06-05 19:54:44 -04:00
Types.hs tweak 2012-01-06 10:57:57 -04:00
Upgrade.hs tweaks 2012-01-11 00:06:54 -04:00
Usage.hs addunused: New command, the opposite of dropunused, it relinks unused content into the git repository. 2012-05-02 14:59:05 -04:00

git-annex allows managing files with git, without checking the file
contents into git. While that may seem paradoxical, it is useful when
dealing with files larger than git can currently easily handle, whether due
to limitations in memory, checksumming time, or disk space.

For documentation, see doc/ or <http://git-annex.branchable.com/>