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 1bfe7f8a53
honor preferred content settings of cluster nodes
Except when no nodes want a file, it has to be stored somewhere, so
store it on all. Which is not really desirable, but neither is having to
pick one.

ProtoAssociatedFile deserialization is rather broken, and this could
possibly affect preferred content expressions that match on filenames.

The inability to roundtrip whitespace like tabs and newlines through is
not a problem because preferred content expressions can't be written
that match on whitespace such as a tab. For example:

joey@darkstar:~/tmp/bench/z>git-annex wanted  origin-node2 'exclude=*CTRL-VTab*'
wanted origin-node2
git-annex: Parse error: Parse failure: near "*"

But, the filtering of control characters could perhaps be a problem. I think
that filtering is now obsolete, git-annex has comprehensive filtering of
control characters when displaying filenames, that happens at a higher level.
However, I don't want to risk a security hole so am leaving in that filtering
in ProtoAssociatedFile deserialization for now.
2024-06-25 11:43:09 -04:00
Annex honor preferred content settings of cluster nodes 2024-06-25 11:43:09 -04:00
Assistant remove dead nodes when loading the cluster log 2024-06-16 14:39:44 -04:00
Backend avoid using dropWhileEnd 2024-05-28 10:27:36 -04:00
Build Merge branch 'master' into git-remote-annex 2024-05-10 14:20:36 -04:00
CmdLine allow proxying to remotes that are nodes of clusters 2024-06-18 17:02:23 -04:00
Command add annex-proxied 2024-06-24 10:16:59 -04:00
Config use status --ignore-submodules in configureSmudgeFilter 2022-12-20 16:02:42 -04:00
Database run codespell throughout fixing typos automagically 2024-05-01 15:46:21 -04:00
debian Explicitly specify 1.0 Debian source format 2024-02-15 13:53:26 -04:00
doc honor preferred content settings of cluster nodes 2024-06-25 11:43:09 -04:00
Git add git-annex updatecluster command 2024-06-14 15:02:01 -04:00
Limit initial implementation of --explain 2023-07-25 16:52:57 -04:00
Logs don't sync with cluster nodes by default 2024-06-25 10:24:38 -04:00
Messages RawFilePath conversion 2024-01-19 14:26:21 -04:00
P2P honor preferred content settings of cluster nodes 2024-06-25 11:43:09 -04:00
Remote don't sync with cluster nodes by default 2024-06-25 10:24:38 -04:00
RemoteDaemon git-annex-shell: block relay requests 2024-06-10 14:16:27 -04:00
standalone add git-remote-annex to standalone builds 2024-05-28 13:12:51 -04:00
static Revert "remove newlines from static js and css" 2014-06-13 02:20:39 -04:00
templates assistant: When generating a gpg secret key, avoid hardcoding the key algorithm and size 2024-01-09 15:31:53 -04:00
Test remove support for directory < 1.2.7 2024-02-06 10:53:13 -04:00
Types don't sync with cluster nodes by default 2024-06-25 10:24:38 -04:00
Upgrade remove support for directory < 1.2.7 2024-02-06 10:53:13 -04:00
Utility P2P protocol version 2, adding SUCCESS-PLUS and ALREADY-HAVE-PLUS 2024-06-18 16:21:40 -04:00
.appveyor.yml windows back to lts-18.13 temporarily 2023-08-02 12:49:38 -04:00
.codespellrc A few more of typo fixes/skip as detected with bleeding edge codespell 2024-05-01 20:06:08 -04:00
.ghci turn of PackageImports in cabal file 2022-02-25 13:16:36 -04:00
.gitattributes update changelog location 2016-08-22 23:54:11 -04:00
.gitignore ignore git-remote-annex 2024-05-06 13:13:39 -04:00
.mailmap ENH: add one more mailmap for yarikoptic 2024-06-03 13:00:45 -04:00
Annex.hs drop gitremotes cache when config is changed 2024-06-24 09:36:21 -04:00
Assistant.hs webapp: Added --port option, and annex.port config 2024-01-25 14:08:36 -04:00
Author.hs improve attribution armoring 2023-11-21 11:34:21 -04:00
Backend.hs implement URL to VURL migration 2024-03-01 16:42:02 -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 Support being built with crypton rather than cryptonite 2023-09-21 12:43:42 -04:00
BuildInfo.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
CHANGELOG P2P protocol version 2, adding SUCCESS-PLUS and ALREADY-HAVE-PLUS 2024-06-18 16:21:40 -04:00
CmdLine.hs remove dead nodes when loading the cluster log 2024-06-16 14:39:44 -04:00
Command.hs remove dead nodes when loading the cluster log 2024-06-16 14:39:44 -04:00
Common.hs Windows: Support long filenames in more (possibly all) of the code 2023-03-01 15:55:58 -04:00
Config.hs added an optional cost= configuration to all special remotes 2023-01-12 13:42:28 -04:00
COPYRIGHT Added dependency on unbounded-delays 2024-02-27 13:11:59 -04:00
Creds.hs simplify base64 to only use ByteString 2023-10-26 13:10:05 -04:00
Crypto.hs support annex.shared-sop-command for encryption=shared 2024-01-12 13:31:18 -04:00
git-annex.cabal don't sync with cluster nodes by default 2024-06-25 10:24:38 -04:00
git-annex.hs add git-remote-annex stub and build machinery 2024-05-06 13:05:58 -04:00
git-union-merge.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
Git.hs run codespell throughout fixing typos automagically 2024-05-01 15:46:21 -04:00
Key.hs convert Key to ShortByteString 2021-10-05 20:20:08 -04:00
Limit.hs don't count clusters as copies, continued 2024-06-16 15:14:53 -04:00
Logs.hs implement cluster.log 2024-06-13 16:00:58 -04:00
Makefile use cabal list-bin 2024-05-31 10:28:56 -04:00
Messages.hs run codespell throughout fixing typos automagically 2024-05-01 15:46:21 -04:00
NEWS prep release 2023-06-26 10:41:36 -04:00
README improve description 2022-01-06 12:24:27 -04:00
Remote.hs add annex-proxied 2024-06-24 10:16:59 -04:00
Setup.hs Setup.hs: Stop installing man pages, desktop files, and the git-annex-shell and git-remote-tor-annex symlinks 2023-08-01 15:08:56 -04:00
stack-lts-18.13.yaml enable parallel ghc for building git-annex 2023-09-26 13:46:44 -04:00
stack.yaml stack.yaml: Update to lts-22.9 and use crypton. 2024-02-06 11:08:12 -04:00
Test.hs fix windows build 2024-01-18 11:54:59 -04:00
Types.hs plumb VerifyConfig into retrieveKeyFile 2021-08-17 12:43:13 -04:00
Upgrade.hs don't say a supported version is unsupported 2023-10-09 14:26:24 -04:00

git-annex allows managing large files with git, without storing the file
contents in git. It can sync, backup, and archive your data, offline
and online. Checksums and encryption keep your data safe and secure. Bring
the power and distributed nature of git to bear on your large files with
git-annex.

For documentation, see doc/ or <https://git-annex.branchable.com/>