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 7294d23d78
export: Added --from option
This is similar to git-annex copy --from --to, in that it downloads a
local copy, locks it for removal, uploads it, and drops it. Removal of
the temporary local copy is done without verifying numcopies for the
same reason as that command.

I do wonder, looking at this, if there's a race where the local copy
gets used as a copy to allow some other drop in the narrow window after
it is downloaded and before it gets locked for removal. That would need
some other repository to have an out of date location log that says the
repository contains a copy of the key, in order for it to try to use it
as a copy. If there is such a race, git-annex copy/move would also be
vulnerable to it. It would be better to lock it for removal before
starting to download it! That is possible in v10 repositories, which do
use a separate content lock file.

Note that, when the exported tree contains several files that use the
same key, it will be downloaded repeatedly, once per time needed to
upload it. It would be possible to avoid that extra work, but it would
complicate this since the local copy would need to be preserved, locked
for removal, until the end. Also, that would mean that interrupting the
export would leave possibly a lot of temporarily downloaded keys in the
local repository, while currently it can only leave one.
2024-08-08 12:08:55 -04:00
Annex proxy stores received keys to known export locations 2024-08-07 09:47:34 -04:00
Assistant assistant: Fix a race condition that could cause a pointer file to get ingested into the annex 2024-07-02 12:25:30 -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 git-remote-annex: use annexLocationsBare 2024-08-02 13:13:44 -04:00
Command export: Added --from option 2024-08-08 12:08:55 -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 Refresh standlone patch to avoid fuzz and offsets 2024-08-06 16:39:48 -04:00
doc export: Added --from option 2024-08-08 12:08:55 -04:00
Git cache credentials for p2phttp in memory 2024-07-23 18:45:02 -04:00
Limit initial implementation of --explain 2023-07-25 16:52:57 -04:00
Logs Avoid loading cluster log at startup 2024-07-31 15:54:14 -04:00
Messages RawFilePath conversion 2024-01-19 14:26:21 -04:00
P2P catch ClientError from withClientM 2024-08-07 11:24:34 -04:00
Remote remove unused imports 2024-08-06 14:49:20 -04:00
RemoteDaemon support a P2PConnection that uses TMVars rather than Handles 2024-06-28 11:22:29 -04:00
standalone disable servant build flag for i386ancient 2024-07-30 10:01:56 -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 proxy stores received keys to known export locations 2024-08-07 09:47:34 -04:00
Upgrade avoid partial functions 2024-07-30 11:28:44 -04:00
Utility use REMOVE-BEFORE in P2P protocol 2024-07-04 13:47:38 -04:00
.appveyor.yml update stack.yaml to nightly-2024-07-29 and remove stack-lts-18.13.yaml 2024-07-29 20:09:37 -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 Avoid loading cluster log at startup 2024-07-31 15:54:14 -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 update servant build flag 2024-07-23 08:53:56 -04:00
BuildInfo.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
CHANGELOG export: Added --from option 2024-08-08 12:08:55 -04:00
CmdLine.hs remove dead nodes when loading the cluster log 2024-06-16 14:39:44 -04:00
Command.hs Tab completion of many commands like info and trust now includes remotes 2024-06-30 12:39:18 -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 proxying to exporttree=yes annexobjects=yes basically working 2024-08-06 14:21:23 -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 releasing package git-annex version 10.20240731 2024-07-31 14:05:01 -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 git-annex-shell: proxy nodes located beyond remote cluster gateways 2024-06-26 12:56:16 -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 very temporarily copy stack.yaml to stack-lts-18.13.yaml 2024-07-31 10:09:47 -04:00
stack.yaml deindent 2024-07-30 10:34:18 -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/>