git-annex/doc
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
..
android
Android
assistant
automatic_conflict_resolution
backends
bare_repositories
bugs comment 2021-04-20 11:57:10 -04:00
chunking
coding_style
contribute update 2021-03-29 13:58:27 -04:00
copies
design comment 2021-04-18 13:07:03 -04:00
devblog devblog 2020-12-22 16:53:40 -04:00
direct_mode
download
encryption Added a comment 2021-04-18 15:40:55 +00:00
footer
forum Added a comment 2021-04-18 01:19:54 +00:00
future_proofing
git-annex-add comment 2021-01-04 13:43:01 -04:00
git-annex-addurl comment 2021-02-01 12:24:48 -04:00
git-annex-adjust
git-annex-checkpresentkey
git-annex-config
git-annex-copy
git-annex-direct
git-annex-drop
git-annex-enableremote
git-annex-find
git-annex-import comment 2021-02-22 12:31:55 -04:00
git-annex-importfeed
git-annex-lookupkey
git-annex-metadata comment 2021-01-04 12:07:01 -04:00
git-annex-move comment 2021-01-04 12:05:32 -04:00
git-annex-p2p
git-annex-preferred-content
git-annex-reinject Added a comment 2021-01-02 15:16:04 +00:00
git-annex-rmurl
git-annex-setpresentkey
git-annex-sync
git-annex-test
git-annex-unannex
git-annex-undo
git-annex-uninit removed 2021-01-14 22:16:20 +00:00
git-annex-unlock Merge branch 'master' of ssh://git-annex.branchable.com 2021-03-01 13:10:50 -04:00
git-annex-unused fix sequence 2021-03-11 12:30:02 -04:00
git-annex-whereis
how_it_works
install doc/install/guix: Prune list of disabled features 2021-03-29 14:26:01 -04:00
internals
license
links
metadata
news add news item for git-annex 8.20210330 2021-03-30 14:34:14 -04:00
not
polls
preferred_content
profiling
projects include bugs/todos tagged datalad 2021-01-13 12:30:46 -04:00
required_content
scalability
security
special_remotes change back to git-remote-gcrypt 1.4 url forms, with a note that that version is needed 2021-04-13 12:55:50 -04:00
stickers
submodules Added a comment: Issue when using flag --recurse-submodules with git-checkout and git-switch 2021-01-18 23:04:17 +00:00
sync response 2020-12-17 12:47:07 -04:00
templates
testimonials
thanks update 2021-04-05 10:56:07 -04:00
tips Added a comment: Hardlinks 2021-04-16 08:17:36 +00:00
todo start implementing hidden git-annex repositories 2021-04-20 15:04:53 -04:00
trust
tuning
upgrades
use_case
users Add my name and home page URL. 2021-03-14 05:15:14 +00:00
videos
walkthrough
workflow
Android.mdwn
assistant.mdwn
automatic_conflict_resolution.mdwn
backends.mdwn use GIT keys for export of non-annexed files 2021-03-05 14:12:11 -04:00
bare_repositories.mdwn
bugs.mdwn remove priority tag (unused) 2021-02-02 12:42:20 -04:00
builds.mdwn mixed up some of these long urls 2020-11-11 11:47:58 -04:00
chunking.mdwn
coding_style.mdwn
comments.mdwn
contact.mdwn
contribute.mdwn
copies.mdwn mincopies 2021-01-06 14:15:19 -04:00
design.mdwn
devblog.mdwn
direct_mode.mdwn
distributed_version_control.mdwn
download.mdwn
encryption.mdwn
favicon.ico
forum.mdwn
future_proofing.mdwn
git-annex-add.mdwn add pointer to annex.largefiles config docs 2021-01-04 13:39:48 -04:00
git-annex-addunused.mdwn
git-annex-addurl.mdwn
git-annex-adjust.mdwn annex.adjustedbranchrefresh 2020-11-16 14:27:28 -04:00
git-annex-assistant.mdwn
git-annex-benchmark.mdwn
git-annex-calckey.mdwn
git-annex-checkpresentkey.mdwn
git-annex-config.mdwn man page improvement 2020-12-17 12:17:58 -04:00
git-annex-contentlocation.mdwn
git-annex-copy.mdwn
git-annex-dead.mdwn
git-annex-describe.mdwn
git-annex-diffdriver.mdwn diffdriver: Support unlocked files 2021-04-08 14:32:09 -04:00
git-annex-direct.mdwn
git-annex-drop.mdwn
git-annex-dropkey.mdwn
git-annex-dropunused.mdwn
git-annex-edit.mdwn
git-annex-enable-tor.mdwn
git-annex-enableremote.mdwn
git-annex-examinekey.mdwn examinekey: Added a "file" format variable 2020-11-16 09:59:11 -04:00
git-annex-expire.mdwn mention the --activity=Fsck 2021-03-30 11:49:11 -04:00
git-annex-export.mdwn improve synopsis 2020-12-17 12:51:49 -04:00
git-annex-find.mdwn
git-annex-findref.mdwn
git-annex-fix.mdwn
git-annex-forget.mdwn
git-annex-fromkey.mdwn
git-annex-fsck.mdwn
git-annex-fuzztest.mdwn
git-annex-get.mdwn
git-annex-group.mdwn
git-annex-groupwanted.mdwn
git-annex-import.mdwn 2021-02-17 13:58:00 +00:00
git-annex-importfeed.mdwn
git-annex-indirect.mdwn
git-annex-info.mdwn
git-annex-init.mdwn
git-annex-initremote.mdwn
git-annex-inprogress.mdwn
git-annex-list.mdwn
git-annex-lock.mdwn
git-annex-log.mdwn clarified that git-annex-log shows log only for the current key (contents) at specified paths 2021-03-11 16:50:41 +00:00
git-annex-lookupkey.mdwn
git-annex-map.mdwn
git-annex-matchexpression.mdwn
git-annex-matching-expression.mdwn
git-annex-matching-options.mdwn
git-annex-merge.mdwn
git-annex-metadata.mdwn
git-annex-migrate.mdwn
git-annex-mincopies.mdwn improve wording 2021-01-06 14:24:17 -04:00
git-annex-mirror.mdwn
git-annex-move.mdwn
git-annex-multicast.mdwn
git-annex-numcopies.mdwn mincopies 2021-01-06 14:15:19 -04:00
git-annex-p2p.mdwn
git-annex-post-receive.mdwn
git-annex-pre-commit.mdwn
git-annex-preferred-content.mdwn
git-annex-proxy.mdwn
git-annex-readpresentkey.mdwn
git-annex-registerurl.mdwn unregisterurl: New command 2021-03-01 14:28:24 -04:00
git-annex-reinit.mdwn
git-annex-reinject.mdwn
git-annex-rekey.mdwn
git-annex-remotedaemon.mdwn
git-annex-renameremote.mdwn
git-annex-repair.mdwn
git-annex-required.mdwn
git-annex-resolvemerge.mdwn
git-annex-rmurl.mdwn clarify 2021-03-22 12:15:54 -04:00
git-annex-schedule.mdwn
git-annex-semitrust.mdwn
git-annex-setkey.mdwn
git-annex-setpresentkey.mdwn
git-annex-shell.mdwn
git-annex-smudge.mdwn
git-annex-status.mdwn
git-annex-sync.mdwn improve man page wording 2021-04-01 12:58:06 -04:00
git-annex-test.mdwn
git-annex-testremote.mdwn
git-annex-transferkey.mdwn
git-annex-transferkeys.mdwn move new interface to git-annex transfer 2020-12-09 12:33:56 -04:00
git-annex-transferrer.mdwn rename helper 2020-12-09 13:24:24 -04:00
git-annex-trust.mdwn Behavior change: git-annex trust now needs --force 2021-01-07 10:09:39 -04:00
git-annex-unannex.mdwn
git-annex-undo.mdwn
git-annex-ungroup.mdwn
git-annex-uninit.mdwn
git-annex-unlock.mdwn clarified git-annex-unlock docs re: git add 2021-03-22 19:58:43 +00:00
git-annex-unregisterurl.mdwn clarify 2021-03-22 12:15:54 -04:00
git-annex-untrust.mdwn
git-annex-unused.mdwn
git-annex-upgrade.mdwn
git-annex-vadd.mdwn
git-annex-vcycle.mdwn
git-annex-version.mdwn
git-annex-vfilter.mdwn
git-annex-vicfg.mdwn
git-annex-view.mdwn
git-annex-vpop.mdwn
git-annex-wanted.mdwn
git-annex-watch.mdwn
git-annex-webapp.mdwn
git-annex-whereis.mdwn
git-annex.mdwn added --debugfilter (and annex.debugfilter) 2021-04-05 15:31:10 -04:00
git-remote-tor-annex.mdwn
git-union-merge.mdwn
how_it_works.mdwn improve 2021-01-15 11:31:08 -04:00
index.mdwn
install.mdwn git-annex is in openbsd ports 2021-03-22 14:37:06 -04:00
internals.mdwn mincopies 2021-01-06 14:15:19 -04:00
license.mdwn
location_tracking.mdwn
logo-old-bw.svg
logo-old.png
logo-old.svg
logo-old_small.png
logo.mdwn
logo.svg
logo_16x16.png
logo_32x32.png
logo_small.png
meta.mdwn
metadata.mdwn
news.mdwn
not.mdwn
polls.mdwn
preferred_content.mdwn
privacy.mdwn
profiling.mdwn
projects.mdwn
publicrepos.mdwn
related_software.mdwn annex-review-unused -> git annex reviewunused 2021-02-28 20:20:03 +00:00
repomap.png
required_content.mdwn
scalability.mdwn
security.mdwn
shortcuts.mdwn
sidebar.mdwn
sitemap.mdwn
special_remotes.mdwn docs for borg special remote 2020-12-17 13:12:35 -04:00
stickers.mdwn
submodules.mdwn
summary.mdwn
sync.mdwn
testimonials.mdwn
thanks.mdwn 2021 2021-02-08 13:44:58 -04:00
tips.mdwn
todo.mdwn fix syntax 2021-02-02 13:01:31 -04:00
transferring_data.mdwn
trust.mdwn Behavior change: --trust option no longer overrides trust 2021-01-07 10:34:57 -04:00
tuning.mdwn
upgrades.mdwn
users.mdwn
videos.mdwn
walkthrough.mdwn
workflow.mdwn