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
Joey Hess 1c8ee99b46
Fix build with ghc 8.4+, which broke due to the Semigroup Monoid change
https://prime.haskell.org/wiki/Libraries/Proposals/SemigroupMonoid

I am not happy with the fragile pile of CPP boilerplate required to support
ghc back to 7.0, which git-annex still targets for both the android build
and the standalone build targeting old linux kernels. It makes me unlikely
to want to use Semigroup more in git-annex, because the benefit of the
abstraction is swamped by the ugliness. I actually considered ripping out
all the Semigroup instances, but some are needed to use
optparse-applicative.

The problem, I think, is they made this transaction on too fast a timeline.
(Although ironically, work on it started in 2015 or earlier!)
In particular, Debian oldstable is not out of security support, and it's
not possible to follow the simpler workarounds documented on the wiki and
have it build on oldstable (because the semigroups package in it is too
old).

I have only tested this build with ghc 8.2.2, not the newer and older
versions that branches of the CPP support. So there could be typoes, we'll
see.

This commit was sponsored by Brock Spratlen on Patreon.
2018-05-30 12:28:43 -04:00
Annex reuse hashes of dotfiles/dirs/submodules when entering view 2018-05-14 15:35:20 -04:00
Assistant fix path to termux boot file 2018-04-25 17:51:50 -04:00
Backend fix migration bug and make fsck warn 2018-05-23 14:07:51 -04:00
Build fix build 2018-04-27 12:59:09 -04:00
CmdLine GIT_ANNEX_SHELL_APPENDONLY 2018-05-25 13:17:56 -04:00
Command Fix build with ghc 8.4+, which broke due to the Semigroup Monoid change 2018-05-30 12:28:43 -04:00
Config use DynamicConfig to handle cost-command 2017-08-17 14:04:29 -04:00
Database fix build with old version of persistent 2017-09-25 09:57:41 -04:00
debian BF: deb standalone patch - force use of gzip compression 2018-05-23 11:48:29 -04:00
doc Fix build with ghc 8.4+, which broke due to the Semigroup Monoid change 2018-05-30 12:28:43 -04:00
Git Fix build with ghc 8.4+, which broke due to the Semigroup Monoid change 2018-05-30 12:28:43 -04:00
Limit AssociatedFile newtype 2017-03-10 13:35:31 -04:00
Logs avoid git annex info remote buffering list of keys 2018-04-26 16:13:05 -04:00
Messages Fix mangling of --json output of utf-8 characters when not running in a utf-8 locale 2018-04-16 16:21:21 -04:00
P2P GIT_ANNEX_SHELL_APPENDONLY 2018-05-25 13:17:56 -04:00
Remote Fix mangling of --json output of utf-8 characters when not running in a utf-8 locale 2018-04-16 16:21:21 -04:00
RemoteDaemon move protocol version stuff to the Net free monad 2018-03-12 15:20:51 -04:00
standalone use proot to support Android 8 2018-05-08 13:55:10 -04:00
static
templates version: Added "dependency versions" line. 2017-04-07 18:16:11 -04:00
Test Split Test.hs and avoid optimising it much, to need less memory to compile. 2018-02-18 11:48:48 -04:00
Types Fix build with ghc 8.4+, which broke due to the Semigroup Monoid change 2018-05-30 12:28:43 -04:00
Upgrade squelch a couple of warnings about moveAnnex return code 2017-02-28 12:49:17 -04:00
Utility fix http-client gzip decompression bug 2018-05-21 15:10:25 -04:00
.ghci
.gitattributes
.gitignore ignore generated file Build/SysConfig.hs 2018-02-28 11:58:53 -04:00
.mailmap
Annex.hs avoid insertWith' depreaction warning 2018-04-22 13:28:31 -04:00
Assistant.hs fold Build/SysConfig.hs into BuildInfo via include 2017-12-14 12:46:57 -04:00
Backend.hs more lambda-case conversion 2017-12-05 15:00:50 -04:00
bash-completion.bash update from optparse-applicative output 2017-06-09 11:30:24 -04:00
build.bat
BuildFlags.hs split BuildInfo and BuildFlags 2018-01-02 13:47:51 -04:00
BuildInfo.hs split BuildInfo and BuildFlags 2018-01-02 13:47:51 -04:00
CHANGELOG Fix build with ghc 8.4+, which broke due to the Semigroup Monoid change 2018-05-30 12:28:43 -04:00
CmdLine.hs
Command.hs add --json-error-messages (not yet implemented) 2018-02-19 14:32:15 -04:00
Common.hs finally really add back custom-setup stanza 2017-12-31 16:36:39 -04:00
Config.hs configuration and docs for tracking exports 2017-09-19 13:05:43 -04:00
COPYRIGHT Added adb special remote which allows exporting files to Android devices. 2018-03-27 14:54:41 -04:00
Creds.hs finish git-annex enable-tor 2016-11-29 17:30:27 -04:00
Crypto.hs add KeyVariety type 2017-02-24 15:16:56 -04:00
ghci
git-annex.cabal releasing package git-annex version 6.20180529 2018-05-29 13:06:56 -04:00
git-annex.hs windows build fix 2018-01-09 11:51:17 -04:00
git-union-merge.hs Always use filesystem encoding for all file and handle reads and writes. 2016-12-24 14:46:31 -04:00
Git.hs
Jenkinsfile Revert "debugging strange old version of git-annex in windows installer bundle" 2017-10-26 11:32:04 -04:00
Key.hs Fix mangling of --json output of utf-8 characters when not running in a utf-8 locale 2018-04-16 16:21:21 -04:00
Limit.hs finish fixing inverted Ord for TrustLevel 2018-04-13 15:17:54 -04:00
Logs.hs implement export.log and resolve export conflicts 2017-08-31 15:47:23 -04:00
Makefile android: try harder to force PIE for android 5+ 2018-04-16 17:30:21 -04:00
Messages.hs Added INFO to external special remote protocol. 2018-02-06 13:03:55 -04:00
NEWS wording 2018-03-09 13:56:21 -04:00
README
Remote.hs Fix mangling of --json output of utf-8 characters when not running in a utf-8 locale 2018-04-16 16:21:21 -04:00
Setup.hs Added git-remote-tor-annex, which allows git pull and push to the tor hidden service. 2016-11-21 17:27:38 -04:00
stack-windows.yaml Removed the testsuite build flag 2017-12-20 12:25:03 -04:00
stack.yaml Revert "response" 2018-05-30 11:27:54 -04:00
Test.hs rename BlobType and add submodule to it 2018-05-14 14:45:41 -04:00
Types.hs better dup key with -J fix 2017-10-17 18:48:53 -04:00
Upgrade.hs

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 <https://git-annex.branchable.com/>