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 da8e84efe9
fix failing quickcheck properties
QuickCheck 2.10 found a counterexample eg "\929184" broke the property.

As far as I can tell, Git.Filename is matching how git handles encoding
of strange high unicode characters in filenames for display. Git does
not display high unicode characters, and instead displays the C-style
escaped form of each byte. This is ambiguous, but since git is not
unicode aware, it doesn't need to roundtrip parse it.

So, making Git.FileName's roundtrip test only chars < 256 seems fine.

Utility.Format.format uses encode_c, in order to mimic git, so that's
ok.

Utility.Format.gen uses decode_c, but only so that stuff like "\n"
in the format string is handled. If the format string contains C-style
octal escapes, they will be converted to ascii characters, and not
combined into unicode characters, but that should not be a problem.
If the user wants unicode characters, they can include them in the
format string, without escaping them.

Finally, decode_c is used by Utility.Gpg.secretKeys, because gpg
--with-colons hex-escapes some characters in particular ':' and '\\'.
gpg passes unicode through, so this use of decode_c is not a problem.

This commit was sponsored by Henrik Riomar on Patreon.
2017-06-17 16:48:00 -04:00
Annex Avoid error about git-annex-shell not being found when syncing with -J with a git remote where git-annex-shell is not installed. 2017-06-06 12:57:27 -04:00
Assistant assistant: Merge changes from refs/remotes/foo/master into master. 2017-06-07 16:17:46 -04:00
Backend stop using MissingH for MD5 2017-05-15 21:36:03 -04:00
Build fix OSX build 2017-06-09 14:57:11 -04:00
CmdLine zsh and fish completions 2017-06-09 11:38:20 -04:00
Command support --to=. as shorthand for --to=here 2017-06-01 13:12:42 -04:00
Config annex.autocommit can be configured via git-annex config 2017-02-03 13:58:53 -04:00
Database factor non-type stuff out of Key 2017-02-24 13:42:30 -04:00
debian adeiu, MissingH 2017-05-16 01:03:52 -04:00
doc close 2017-06-17 13:20:31 -04:00
Git fix failing quickcheck properties 2017-06-17 16:48:00 -04:00
Limit AssociatedFile newtype 2017-03-10 13:35:31 -04:00
Logs Keys marked as dead are now skipped by --all. 2017-05-09 12:55:21 -04:00
Messages typo 2017-05-19 10:57:59 -04:00
P2P AssociatedFile newtype 2017-03-10 13:35:31 -04:00
Remote adeiu, MissingH 2017-05-16 01:03:52 -04:00
RemoteDaemon Added remote.<name>.annex-push and remote.<name>.annex-pull 2017-04-05 13:22:35 -04:00
standalone correct spelling mistakes 2017-02-12 17:30:23 -04:00
static Revert "remove newlines from static js and css" 2014-06-13 02:20:39 -04:00
templates version: Added "dependency versions" line. 2017-04-07 18:16:11 -04:00
Types configuration to disable automatic merge conflict resolution 2017-06-01 12:51:01 -04:00
Upgrade squelch a couple of warnings about moveAnnex return code 2017-02-28 12:49:17 -04:00
Utility fix failing quickcheck properties 2017-06-17 16:48:00 -04:00
.ghci workaround for ghci fragility in reusing objects compiled with ghc 2012-10-20 16:20:42 -04:00
.gitattributes update changelog location 2016-08-22 23:54:11 -04:00
.gitignore gitignore git-annex-shell 2017-03-17 19:19:10 -04:00
.mailmap alias for Yaroslav @ yahoo to mailmap 2015-09-09 12:38:59 -04:00
Annex.hs fix sshCleanup race using STM 2017-05-11 18:29:51 -04:00
Assistant.hs remove xmpp support 2016-11-14 14:53:08 -04:00
Backend.hs annex.backend is the new name for what was annex.backends 2017-05-09 15:04:07 -04:00
bash-completion.bash update from optparse-applicative output 2017-06-09 11:30:24 -04:00
build.bat let build.bat also be run from cygwin terminal 2015-04-21 14:12:14 -04:00
BuildInfo.hs fix build with old ghc 2017-05-10 14:36:35 -04:00
CHANGELOG Fix build with QuickCheck 2.10. 2017-06-17 13:04:48 -04:00
CmdLine.hs Make --json and --quiet suppress automatic init messages 2016-09-05 15:34:38 -04:00
Command.hs make query commands not output extraneous messages 2017-02-16 13:24:35 -04:00
Common.hs adeiu, MissingH 2017-05-16 01:03:52 -04:00
Config.hs annex.autocommit can be configured via git-annex config 2017-02-03 13:58:53 -04:00
COPYRIGHT relicense Utility/GPG.hs BSD as the rest of Utility is 2017-03-10 15:08:21 -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 avoid tab warnings from ghc 8 2016-11-17 13:39:30 -04:00
git-annex.cabal releasing package git-annex version 6.20170520 2017-06-12 13:55:00 -04:00
git-annex.hs Always use filesystem encoding for all file and handle reads and writes. 2016-12-24 14:46:31 -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 Propigate GIT_DIR and GIT_WORK_TREE environment to external special remotes. 2016-05-06 12:26:44 -04:00
Jenkinsfile Add initial Jenkins pipeline script 2016-12-01 12:05:26 -04:00
Key.hs Fix build with QuickCheck 2.10. 2017-06-17 13:04:48 -04:00
Limit.hs securehash matching 2017-02-27 15:02:44 -04:00
Logs.hs multicast: New command, uses uftp to multicast annexed files, for eg a classroom setting. 2017-03-30 19:35:30 -04:00
Makefile zsh and fish completions 2017-06-09 11:38:20 -04:00
Messages.hs clear regions before ssh prompt 2017-05-16 15:50:11 -04:00
NEWS releasing package git-annex version 6.20170228 2017-02-28 14:41:57 -04:00
README use https 2014-11-06 14:20:10 -04:00
Remote.hs Some optimisations to string splitting code. 2017-01-31 19:06:22 -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.yaml update to lts-8.13 2017-05-15 16:01:24 -04:00
Test.hs fix failing quickcheck properties 2017-06-17 16:48:00 -04:00
Types.hs AssociatedFile newtype 2017-03-10 13:35:31 -04:00
Upgrade.hs Avoid backtraces on expected failures when built with ghc 8; only use backtraces for unexpected errors. 2016-11-15 21:29:54 -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/>