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 cf260d9a15
Fix storing of filenames of v6 unlocked files when the filename is not representable in the current locale.
This is a mostly backwards compatable change. I broke backwards
compatability in the case where a filename starts with double-quote.
That seems likely to be very rare, and v6 unlocked files are a new feature
anyway, and fsck needs to fix missing associated file mappings anyway. So,
I decided that is good enough.

The encoding used is to just show the String when it contains a problem
character. While that adds some overhead to addAssociatedFile and
removeAssociatedFile, those are not called very often. This approach has
minimal decode overhead, because most filenames won't be encoded that way,
and it only has to look for the leading double-quote to skip the expensive
read. So, getAssociatedFiles remains fast.

I did consider using ByteString instead, but getting a FilePath converted
with all chars intact, even surrigates, is difficult, and it looks like
instance PersistField ByteString uses Text, which I don't trust for problem
encoded data. It would probably be slower too, and it would make the
database less easy to inspect manually.
2016-02-14 16:37:25 -04:00
Annex create directory for transfer lock file, and catch perm error 2016-02-12 14:11:25 -04:00
Assistant annex.largefiles can be configured in .gitattributes too 2016-02-02 15:18:17 -04:00
Backend remove 163 lines of code without changing anything except imports 2016-01-20 16:36:33 -04:00
Build fix warning with ghc 7.10 2016-01-26 19:12:33 -04:00
CmdLine Work around problem with concurrent-output when in a non-unicode locale by avoiding use of it in such a locale. 2016-02-14 15:02:42 -04:00
Command avoid --batch crashing if a remote fails to be accessed 2016-02-12 16:48:03 -04:00
Config webapp: Fix bugs that could result in a relative path such as "." being written to ~/.config/git-annex/autostart 2015-12-02 15:57:30 -04:00
Database Fix storing of filenames of v6 unlocked files when the filename is not representable in the current locale. 2016-02-14 16:37:25 -04:00
debian Fix storing of filenames of v6 unlocked files when the filename is not representable in the current locale. 2016-02-14 16:37:25 -04:00
doc Fix storing of filenames of v6 unlocked files when the filename is not representable in the current locale. 2016-02-14 16:37:25 -04:00
Git fix handling of unspecified attributes (particularly for annex.largefiles) 2016-02-05 18:41:23 -04:00
Limit matchexpression: New plumbing command to check if a preferred content expression matches some data. 2016-01-25 16:16:18 -04:00
Logs Limit annex.largefiles parsing to the subset of preferred content expressions that make sense in its context. 2016-02-03 15:04:42 -04:00
Messages Work around problem with concurrent-output when in a non-unicode locale by avoiding use of it in such a locale. 2016-02-14 15:02:42 -04:00
Remote S3: Allow configuring with requeststyle=path to use path-style bucket access instead of the default DNS-style access. 2016-02-09 15:36:36 -04:00
RemoteDaemon remove 163 lines of code without changing anything except imports 2016-01-20 16:36:33 -04:00
standalone fix import warnings 2016-01-14 10:30:54 -04:00
static Revert "remove newlines from static js and css" 2014-06-13 02:20:39 -04:00
templates webapp: Remove the "disable remote" feature from the UI. 2015-09-21 13:05:44 -04:00
Types Work around problem with concurrent-output when in a non-unicode locale by avoiding use of it in such a locale. 2016-02-14 15:02:42 -04:00
Upgrade remove 163 lines of code without changing anything except imports 2016-01-20 16:36:33 -04:00
Utility better types 2016-02-14 16:26:39 -04:00
.ghci workaround for ghci fragility in reusing objects compiled with ghc 2012-10-20 16:20:42 -04:00
.gitattributes decruft 2011-06-22 18:56:08 -04:00
.gitignore add .stack-work 2015-12-28 17:19:07 -04:00
.mailmap alias for Yaroslav @ yahoo to mailmap 2015-09-09 12:38:59 -04:00
Annex.hs remove 3 build flags 2016-01-26 08:14:57 -04:00
Assistant.hs unused import on windows 2015-04-20 11:27:47 -04:00
Backend.hs remove 163 lines of code without changing anything except imports 2016-01-20 16:36:33 -04:00
bash-completion.bash fix bash completion of filenames containing spaces 2015-07-20 11:17:35 -04:00
build.bat let build.bat also be run from cygwin terminal 2015-04-21 14:12:14 -04:00
BuildFlags.hs annex.largefiles: Add support for mimetype=text/* etc, when git-annex is linked with libmagic. 2016-02-03 16:29:34 -04:00
CHANGELOG symlinks 2010-10-27 15:14:59 -04:00
CmdLine.hs remove 163 lines of code without changing anything except imports 2016-01-20 16:36:33 -04:00
Command.hs merge Checks into Command 2016-01-21 13:14:38 -04:00
Common.hs add database benchmark 2016-01-12 13:07:03 -04:00
Config.hs remove 163 lines of code without changing anything except imports 2016-01-20 16:36:33 -04:00
configure.hs Rewrote free disk space checking code 2012-03-22 17:32:47 -04:00
COPYRIGHT Add link COPYRIGHT -> debian/copyright; add COPYRIGHT to sdist. 2012-06-11 23:27:00 -07:00
Creds.hs remove 163 lines of code without changing anything except imports 2016-01-20 16:36:33 -04:00
Crypto.hs remove 163 lines of code without changing anything except imports 2016-01-20 16:36:33 -04:00
ghci brought back fast ghci 2013-02-27 21:38:01 -04:00
git-annex.cabal releasing package git-annex version 6.20160211 2016-02-11 12:02:38 -04:00
git-annex.hs wire tasty's option parser into the main program option parser 2015-07-13 13:20:10 -04:00
git-union-merge.hs update my email address and homepage url 2015-01-21 12:50:09 -04:00
Git.hs init: Configure .git/info/attributes to use git-annex as a smudge filter. 2015-12-04 17:57:15 -04:00
INSTALL symlinks 2010-10-27 15:14:59 -04:00
Limit.hs matchexpression: Added --largefiles option to parse an annex.largefiles expression. 2016-02-03 16:58:36 -04:00
Logs.hs remove 163 lines of code without changing anything except imports 2016-01-20 16:36:33 -04:00
Makefile move -j1 setting to BUILDEROPTIONS, set in debian/rules file 2016-02-05 13:56:27 -04:00
Messages.hs Work around problem with concurrent-output when in a non-unicode locale by avoiding use of it in such a locale. 2016-02-14 15:02:42 -04:00
NEWS update NEWS 2012-01-19 15:27:39 -04:00
README use https 2014-11-06 14:20:10 -04:00
Remote.hs Remove redundant Show constraint 2016-01-28 12:34:07 -04:00
Setup.hs improve warning 2015-11-03 11:06:33 -04:00
stack.yaml Brought back the dbus and xmpp build flags, so build from source can be done without C libraries that may be hard to install. 2016-02-05 18:00:20 -04:00
Test.hs test case for recent sync --content reversion 2016-01-26 17:33:16 -04:00
Types.hs remove module unused since switch to optparse-applicative 2016-01-21 12:59:50 -04:00
Upgrade.hs remove 163 lines of code without changing anything except imports 2016-01-20 16:36:33 -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/>