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 fa62c98910
simplify and speed up Utility.FileSystemEncoding
This eliminates the distinction between decodeBS and decodeBS', encodeBS
and encodeBS', etc. The old implementation truncated at NUL, and the
primed versions had to do extra work to avoid that problem. The new
implementation does not truncate at NUL, and is also a lot faster.
(Benchmarked at 2x faster for decodeBS and 3x for encodeBS; more for the
primed versions.)

Note that filepath-bytestring 1.4.2.1.8 contains the same optimisation,
and upgrading to it will speed up to/fromRawFilePath.

AFAIK, nothing relied on the old behavior of truncating at NUL. Some
code used the faster versions in places where I was sure there would not
be a NUL. So this change is unlikely to break anything.

Also, moved s2w8 and w82s out of the module, as they do not involve
filesystem encoding really.

Sponsored-by: Shae Erisson on Patreon
2021-08-11 12:13:31 -04:00
Annex simplify and speed up Utility.FileSystemEncoding 2021-08-11 12:13:31 -04:00
Assistant simplify and speed up Utility.FileSystemEncoding 2021-08-11 12:13:31 -04:00
Backend simplify and speed up Utility.FileSystemEncoding 2021-08-11 12:13:31 -04:00
Build don't use changelog version in commit message 2021-08-09 12:31:48 -04:00
CmdLine simplify and speed up Utility.FileSystemEncoding 2021-08-11 12:13:31 -04:00
Command simplify and speed up Utility.FileSystemEncoding 2021-08-11 12:13:31 -04:00
Config add: Significantly speed up adding lots of non-large files to git 2021-01-04 13:12:28 -04:00
Database simplify and speed up Utility.FileSystemEncoding 2021-08-11 12:13:31 -04:00
debian Enable building with git-annex benchmark by default 2020-10-02 13:57:10 -04:00
doc comment 2021-08-09 16:00:57 -04:00
Git simplify and speed up Utility.FileSystemEncoding 2021-08-11 12:13:31 -04:00
Limit fix longstanding indeterminite preferred content for duplicated file problem 2021-05-24 14:07:05 -04:00
Logs simplify and speed up Utility.FileSystemEncoding 2021-08-11 12:13:31 -04:00
Messages avoid using temp file size when deciding whether to retry failed transfer 2021-06-25 12:04:23 -04:00
P2P simplify and speed up Utility.FileSystemEncoding 2021-08-11 12:13:31 -04:00
Remote simplify and speed up Utility.FileSystemEncoding 2021-08-11 12:13:31 -04:00
RemoteDaemon switch from hslogger to purpose-built Utility.Debug 2021-04-05 13:40:31 -04:00
standalone bump filepath-bytestring dep 2020-11-11 11:49:19 -04:00
static
templates cache the serialization of a Key 2019-11-22 17:49:16 -04:00
Test simplify and speed up Utility.FileSystemEncoding 2021-08-11 12:13:31 -04:00
Types simplify and speed up Utility.FileSystemEncoding 2021-08-11 12:13:31 -04:00
Upgrade simplify and speed up Utility.FileSystemEncoding 2021-08-11 12:13:31 -04:00
Utility simplify and speed up Utility.FileSystemEncoding 2021-08-11 12:13:31 -04:00
.ghci avoid ghci warning on tabs 2019-01-21 12:35:44 -04:00
.gitattributes
.gitignore stack.yaml: Updated to lts-16.10 2020-08-24 14:11:37 -04:00
.mailmap
Annex.hs simplify and speed up Utility.FileSystemEncoding 2021-08-11 12:13:31 -04:00
Assistant.hs assistant: Fix a crash on startup by avoiding using forkProcess 2021-05-12 15:08:03 -04:00
Backend.hs move verifyKeyContent to Annex.Verify 2021-07-27 14:07:23 -04:00
bash-completion.bash bash completion fix 2018-11-12 13:23:05 -04:00
Benchmark.hs --size-limit exit 101 2021-06-04 16:43:47 -04:00
BuildFlags.hs Removed the S3 and WebDAV build flags 2020-09-08 12:42:59 -04:00
BuildInfo.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
CHANGELOG rsync special remote: Stop displaying rsync progress, and use git-annex's own progress display 2021-08-09 12:06:10 -04:00
CmdLine.hs --size-limit exit 101 2021-06-04 16:43:47 -04:00
Command.hs addon commands 2021-02-02 16:32:49 -04:00
Common.hs finish fixing removeLink on windows 2020-11-24 13:20:44 -04:00
Config.hs simplify and speed up Utility.FileSystemEncoding 2021-08-11 12:13:31 -04:00
COPYRIGHT update year 2021-01-04 12:45:19 -04:00
Creds.hs avoid getting creds from environment during autoenable 2021-03-17 09:41:12 -04:00
Crypto.hs fix strictness issue 2020-06-16 17:09:34 -04:00
git-annex.cabal releasing package git-annex version 8.20210803 2021-08-03 12:20:45 -04:00
git-annex.hs include git-annex-shell back in 2019-12-02 11:51:52 -04:00
git-union-merge.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
Git.hs avoid crashing when there are remotes using unparseable urls 2021-01-18 14:59:08 -04:00
Key.hs simplify and speed up Utility.FileSystemEncoding 2021-08-11 12:13:31 -04:00
Limit.hs New matching options --excludesamecontent and --includesamecontent 2021-05-25 13:08:18 -04:00
Logs.hs filter-branch working aside from some edge cases 2021-05-17 13:24:58 -04:00
Makefile remove TAGS target 2021-07-02 14:38:28 -04:00
Messages.hs simplify and speed up Utility.FileSystemEncoding 2021-08-11 12:13:31 -04:00
NEWS fix dist in latest NEWS entry 2020-09-14 12:05:12 -04:00
README
Remote.hs simplify and speed up Utility.FileSystemEncoding 2021-08-11 12:13:31 -04:00
Setup.hs
stack.yaml update to lts-16.27 2020-12-29 13:51:08 -04:00
Test.hs sync, merge: Added --allow-unrelated-histories option 2021-07-19 12:14:26 -04:00
Types.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
Upgrade.hs propagate git-annex -c on to transferrer child process 2020-12-15 11:36:25 -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 <https://git-annex.branchable.com/>