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 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
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
.dir-locals.el Add a .dir-locals.el that configures emacs' treatment of tabs. 2012-06-10 02:11:40 -07: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 Refactor generation of git-annex.cabal and incorporate man pages. 2012-06-11 00:12:11 -07: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
gen-other-modules.sh Refactor generation of git-annex.cabal and incorporate man pages. 2012-06-11 00:12:11 -07:00
git-annex.cabal.template.sh Refactor generation of git-annex.cabal and incorporate man pages. 2012-06-11 00:12:11 -07: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 Refactor generation of git-annex.cabal and incorporate man pages. 2012-06-11 00:12:11 -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 Replace indentation spaces by tabs in Setup.hs. 2012-06-10 02:21:13 -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/>