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 d2b27ca136
add content retention files
This allows lockContentShared to lock content for eg, 10 minutes and
if the process then gets terminated before it can unlock, the content
will remain locked for that amount of time.

The Windows implementation is not yet tested.

In P2P.Annex, a duration of 10 minutes is used. This way, when p2pstdio
or remotedaemon is serving the P2P protocol, and is asked to
LOCKCONTENT, and that process gets killed, the content will not be
subject to deletion. This is not a perfect solution to
doc/todo/P2P_locking_connection_drop_safety.mdwn yet, but it gets most
of the way there, without needing any P2P protocol changes.

This is only done in v10 and higher repositories (or on Windows). It
might be possible to backport it to v8 or earlier, but it would
complicate locking even further, and without a separate lock file, might
be hard. I think that by the time this fix reaches a given user, they
will probably have been running git-annex 10.x long enough that their v8
repositories will have upgraded to v10 after the 1 year wait. And it's
not as if git-annex hasn't already been subject to this problem (though
I have not heard of any data loss caused by it) for 6 years already, so
waiting another fraction of a year on top of however long it takes this
fix to reach users is unlikely to be a problem.
2024-07-03 14:58:39 -04:00
Annex add content retention files 2024-07-03 14:58:39 -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 Tab completion of many commands like info and trust now includes remotes 2024-06-30 12:39:18 -04:00
Command add content retention files 2024-07-03 14:58:39 -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 add content retention files 2024-07-03 14:58:39 -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 add content retention files 2024-07-03 14:58:39 -04:00
Remote add content retention files 2024-07-03 14:58:39 -04:00
RemoteDaemon support a P2PConnection that uses TMVars rather than Handles 2024-06-28 11:22:29 -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 add optional object file location to storeKey 2024-07-01 10:42:27 -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 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
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 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 prep release 2024-07-01 15:13:10 -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 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/>