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 dafafad115
external: nice error message for keys with spaces in their name
External special remotes will refuse to operate on keys with spaces in
their names. That has never worked correctly due to the design of the
external special remote protocol. Display an error message suggesting
migration.

Not super happy with this, but it's a pragmatic solution. Better than
complicating the external special remote interface and all external special
remotes.

Note that I only made it use SafeKey in Request, not Response. git-annex
does not construct a Response, so that would not add any safety. And
presumably, if git-annex avoids feeding any such keys to an external
special remote, it will never have a reason to make a Response using such a
key. If it did, it would result in a protocol error anyway.

There's still a Serializeable instance for Key; it's used by P2P.Protocol.
There, the Key is always in the final position, so it's ok if it contains
spaces.

Note that the protocol documentation has been fixed to say that the File
may contain spaces. One way that can happen, even though the Key can't,
is when using direct mode, and the work tree filename contains spaces.
When sending such a file to the external special remote the worktree
filename is used.

This commit was sponsored by Thom May on Patreon.
2017-08-17 16:18:34 -04:00
Annex migrate: WORM keys containing spaces will be migrated to not contain spaces anymore 2017-08-17 15:09:38 -04:00
Assistant add annex-ignore-command and annex-sync-command configs 2017-08-17 13:54:14 -04:00
Backend migrate: WORM keys containing spaces will be migrated to not contain spaces anymore 2017-08-17 15:09:38 -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 add annex-ignore-command and annex-sync-command configs 2017-08-17 13:54:14 -04:00
Config use DynamicConfig to handle cost-command 2017-08-17 14:04:29 -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 external: nice error message for keys with spaces in their name 2017-08-17 16:18:34 -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 avoid accidental Show of VectorClock 2017-08-14 14:51:54 -04:00
Messages typo 2017-05-19 10:57:59 -04:00
P2P AssociatedFile newtype 2017-03-10 13:35:31 -04:00
Remote external: nice error message for keys with spaces in their name 2017-08-17 16:18:34 -04:00
RemoteDaemon add annex-ignore-command and annex-sync-command configs 2017-08-17 13:54:14 -04:00
standalone temporarily --force-reinstalls 2017-08-17 13:57:47 -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 use DynamicConfig to handle cost-command 2017-08-17 14:04:29 -04:00
Upgrade squelch a couple of warnings about moveAnnex return code 2017-02-28 12:49:17 -04:00
Utility fix build with old http-client versions 2017-08-17 11:00:48 -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 add annex-ignore-command and annex-sync-command configs 2017-08-17 13:54:14 -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 external: nice error message for keys with spaces in their name 2017-08-17 16:18:34 -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 use DynamicConfig to handle cost-command 2017-08-17 14:04:29 -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 add annex-ignore-command and annex-sync-command configs 2017-08-17 13:54:14 -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 better way of finding stack built executable 2017-07-12 17:04:51 -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 add annex-ignore-command and annex-sync-command configs 2017-08-17 13:54:14 -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 add annex-ignore-command and annex-sync-command configs 2017-08-17 13:54:14 -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/>