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 05989556a2
start implementing hidden git-annex repositories
This adds a separate journal, which does not currently get committed to
an index, but is planned to be committed to .git/annex/index-private.

Changes that are regarding a UUID that is private will get written to
this journal, and so will not be published into the git-annex branch.

All log writing should have been made to indicate the UUID it's
regarding, though I've not verified this yet.

Currently, no UUIDs are treated as private yet, a way to configure that
is needed.

The implementation is careful to not add any additional IO work when
privateUUIDsKnown is False. It will skip looking at the private journal
at all. So this should be free, or nearly so, unless the feature is
used. When it is used, all branch reads will be about twice as expensive.

It is very lucky -- or very prudent design -- that Annex.Branch.change
and maybeChange are the only ways to change a file on the branch,
and Annex.Branch.set is only internal use. That let Annex.Branch.get
always yield any private information that has been recorded, without
the risk that Annex.Branch.set might be called, with a non-private UUID,
and end up leaking the private information into the git-annex branch.

And, this relies on the way git-annex union merges the git-annex branch.
When reading a file, there can be a public and a private version, and
they are just concacenated together. That will be handled the same as if
there were two diverged git-annex branches that got union merged.
2021-04-20 15:04:53 -04:00
Annex start implementing hidden git-annex repositories 2021-04-20 15:04:53 -04:00
Assistant comment typo 2021-04-08 13:08:01 -04:00
Backend use fastDebug everywhere it can be used 2021-04-06 15:41:24 -04:00
Build Windows: Correct the path to the html help file for 64 bit build. 2021-02-24 13:19:42 -04:00
CmdLine fix fastDebug to check if debugging is actually enabled 2021-04-06 16:28:37 -04:00
Command start implementing hidden git-annex repositories 2021-04-20 15:04:53 -04:00
Config add: Significantly speed up adding lots of non-large files to git 2021-01-04 13:12:28 -04:00
Database start splitting out readonly values from AnnexState 2021-04-02 15:51:44 -04:00
debian Enable building with git-annex benchmark by default 2020-10-02 13:57:10 -04:00
doc start implementing hidden git-annex repositories 2021-04-20 15:04:53 -04:00
Git fix incomplete pattern match warning 2021-03-30 12:59:53 -04:00
Limit prep for fixing find --branch --unlocked 2021-03-02 13:39:31 -04:00
Logs start implementing hidden git-annex repositories 2021-04-20 15:04:53 -04:00
Messages simplify transferr protocol 2020-12-11 12:52:22 -04:00
P2P switch from hslogger to purpose-built Utility.Debug 2021-04-05 13:40:31 -04:00
Remote fix reversion in recent CoW changes 2021-04-20 11:41:43 -04:00
RemoteDaemon switch from hslogger to purpose-built Utility.Debug 2021-04-05 13:40:31 -04:00
standalone bump filepath-bytestring dep 2020-11-11 11:49:19 -04:00
static Revert "remove newlines from static js and css" 2014-06-13 02:20:39 -04:00
templates cache the serialization of a Key 2019-11-22 17:49:16 -04:00
Test improve display of test failures 2020-11-24 17:17:09 -04:00
Types implement fastDebug 2021-04-06 15:24:28 -04:00
Upgrade start implementing hidden git-annex repositories 2021-04-20 15:04:53 -04:00
Utility semigroup and monoid instances for DebugSelector 2021-04-06 15:12:35 -04:00
.ghci avoid ghci warning on tabs 2019-01-21 12:35:44 -04:00
.gitattributes update changelog location 2016-08-22 23:54:11 -04:00
.gitignore stack.yaml: Updated to lts-16.10 2020-08-24 14:11:37 -04:00
.mailmap alias for Yaroslav @ yahoo to mailmap 2015-09-09 12:38:59 -04:00
Annex.hs fix fastDebug to check if debugging is actually enabled 2021-04-06 16:28:37 -04:00
Assistant.hs switch from hslogger to purpose-built Utility.Debug 2021-04-05 13:40:31 -04:00
Backend.hs incremental checksum on download from ssh or p2p 2021-02-09 17:03:27 -04:00
bash-completion.bash bash completion fix 2018-11-12 13:23:05 -04:00
Benchmark.hs move global options handling closer to Command definitions 2021-02-02 15:55:45 -04:00
BuildFlags.hs Removed the S3 and WebDAV build flags 2020-09-08 12:42:59 -04:00
BuildInfo.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
CHANGELOG fix hardcoded origin name in checkAdjustedClone 2021-04-14 18:53:27 -04:00
CmdLine.hs fix fastDebug to check if debugging is actually enabled 2021-04-06 16:28:37 -04:00
Command.hs addon commands 2021-02-02 16:32:49 -04:00
Common.hs finish fixing removeLink on windows 2020-11-24 13:20:44 -04:00
Config.hs more RawFilePath conversion 2020-10-29 10:50:29 -04:00
COPYRIGHT update year 2021-01-04 12:45:19 -04:00
Creds.hs avoid getting creds from environment during autoenable 2021-03-17 09:41:12 -04:00
Crypto.hs fix strictness issue 2020-06-16 17:09:34 -04:00
git-annex.cabal split out Annex.CopyFile 2021-04-14 14:06:43 -04:00
git-annex.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
git-union-merge.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
Git.hs avoid crashing when there are remotes using unparseable urls 2021-01-18 14:59:08 -04:00
Key.hs use GIT keys for export of non-annexed files 2021-03-05 14:12:11 -04:00
Limit.hs prep for fixing find --branch --unlocked 2021-03-02 13:39:31 -04:00
Logs.hs forget: Preserve currently exported trees 2021-04-13 15:00:23 -04:00
Makefile OSXMkLibs: skip @loader_path 2020-12-15 12:47:24 -04:00
Messages.hs remove webapp debug check box 2021-04-06 17:23:12 -04:00
NEWS fix dist in latest NEWS entry 2020-09-14 12:05:12 -04:00
README use https 2014-11-06 14:20:10 -04:00
Remote.hs Behavior change: --trust option no longer overrides trust 2021-01-07 10:34:57 -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-16.27 2020-12-29 13:51:08 -04:00
Test.hs add git ls-tree --long parser 2021-03-23 12:47:00 -04:00
Types.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
Upgrade.hs propagate git-annex -c on to transferrer child process 2020-12-15 11:36:25 -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/>