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 f452bd448a
REMOVE-BEFORE and GETTIMESTAMP proxying
For clusters, the timestamps have to be translated, since each node can
have its own idea about what time it is. To translate a timestamp, the
proxy remembers what time it asked the node for a timestamp in
GETTIMESTAMP, and applies the delta as an offset in REMOVE-BEFORE.

This does mean that a remove from a cluster has to call GETTIMESTAMP on
every node before dropping from nodes. Not very efficient. Although
currently it tries to drop from every single node anyway, which is also
not very efficient.

I thought about caching the GETTIMESTAMP from the nodes on the first
call. That would improve efficiency. But, since monotonic clocks on
!Linux don't advance when the computer is suspended, consider what might
happen if one node was suspended for a while, then came back. Its
monotonic timestamp would end up behind where the proxying expects it to
be. Would that result in removing when it shouldn't, or refusing to
remove when it should? Have not thought it through. Either way, a
cluster behaving strangly for an extended period of time because one
of its nodes was briefly asleep doesn't seem like good behavior.
2024-07-04 15:09:34 -04:00
Annex REMOVE-BEFORE and GETTIMESTAMP proxying 2024-07-04 15:09: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 toward SafeDropProof expiry checking 2024-07-04 12:39:06 -04:00
Command REMOVE-BEFORE and GETTIMESTAMP proxying 2024-07-04 15:09:34 -04:00
Config
Database run codespell throughout fixing typos automagically 2024-05-01 15:46:21 -04:00
debian REMOVE-BEFORE and GETTIMESTAMP 2024-07-03 17:01:58 -04:00
doc REMOVE-BEFORE and GETTIMESTAMP proxying 2024-07-04 15:09:34 -04:00
Git add git-annex updatecluster command 2024-06-14 15:02:01 -04:00
Limit
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 REMOVE-BEFORE and GETTIMESTAMP proxying 2024-07-04 15:09:34 -04:00
Remote toward SafeDropProof expiry checking 2024-07-04 12:39:06 -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
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 toward SafeDropProof expiry checking 2024-07-04 12:39:06 -04:00
Upgrade remove support for directory < 1.2.7 2024-02-06 10:53:13 -04:00
Utility use REMOVE-BEFORE in P2P protocol 2024-07-04 13:47:38 -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
.gitattributes
.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
Benchmark.hs
BuildFlags.hs Support being built with crypton rather than cryptonite 2023-09-21 12:43:42 -04:00
BuildInfo.hs
CHANGELOG REMOVE-BEFORE and GETTIMESTAMP 2024-07-03 17:01:58 -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
Config.hs
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 toward SafeDropProof expiry checking 2024-07-04 12:39:06 -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
Git.hs run codespell throughout fixing typos automagically 2024-05-01 15:46:21 -04:00
Key.hs
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
README
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
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/>