Commit graph

968 commits

Author SHA1 Message Date
Joey Hess
d39457035b
response 2018-05-15 11:56:45 -04:00
CandyAngel
c467ac1775 Added a comment 2018-05-10 10:23:49 +00:00
Joey Hess
e8ffa8d54b
link to release build 2018-05-09 16:46:17 -04:00
Joey Hess
71f450f677
use proot to support Android 8
runshell: Use proot when running on Android, to work around Android 8's
ill-advised seccomp filtering of system calls, including ones crucial for
reliable thread locking. (This will only work with termux's version of
proot.)

See https://github.com/termux/termux-packages/issues/420#issuecomment-386636938

This commit was sponsored by andrea rota.
2018-05-08 13:55:10 -04:00
Joey Hess
c0b5ada848
response 2018-04-30 16:07:47 -04:00
Joey Hess
07ba2b0b56
Merge branch 'master' of ssh://git-annex.branchable.com 2018-04-30 16:06:01 -04:00
hobbes@b2cacef69071743c3a831e60511062f7e014e52f
3d59fc4252 Added a comment: Bad system call fix 2018-04-30 15:01:09 +00:00
Joey Hess
0cc401dd94
Merge branch 'master' of ssh://git-annex.branchable.com 2018-04-27 18:55:03 -04:00
davicastro
bf6c6fa30c Added a comment: Where does gitolite stores the annex objects contents? 2018-04-27 21:06:42 +00:00
Joey Hess
ca8833b8e1
response 2018-04-27 13:13:50 -04:00
hobbes@b2cacef69071743c3a831e60511062f7e014e52f
8b297e8008 Added a comment: Bad system call 2018-04-26 19:36:45 +00:00
Joey Hess
abbe5fb516
add coreutils to pkg list for ionice 2018-04-25 15:43:20 -04:00
Joey Hess
de491ad20f
Termux:Boot integration
Assistant: Integrate with Termux:Boot, so when it's installed, the
assistant is autostarted on boot.

This commit was sponsored by Boyd Stephen Smith Jr. on Patreon.
2018-04-25 15:31:25 -04:00
Joey Hess
aa652a4933
link to daily arm autobuild for now 2018-04-25 13:52:12 -04:00
Joey Hess
118ed8f92b
runshell: hacks for termux; add tip
Added some tweaks to make git-annex work in termux on Android. The regular
arm standalone tarball now works in termux.

I guess the test for "$base/bin/git" is not really necessary, since it
tests for git-annex. Since that gets deleted on android, removed that test.

These are pretty hackish hacks, especially adding it to PATH. The goal is
to make it work well enough out of the box on Android.

This commit was sponsored by Eric Drechsel on Patreon.
2018-04-25 13:48:37 -04:00
edward@6e8aa3b16ceac4d960301e049af99698fea47eea
491c3aa4ab Revert my change, not a typo. 2018-04-11 13:47:42 +00:00
edward@6e8aa3b16ceac4d960301e049af99698fea47eea
729436c3ce fix typo 2018-04-11 13:46:08 +00:00
itn@23fdfea9e5c13d8bb24e4cbde30d2a98293154c1
1afd507600 Added a comment: Cloning and syncing leads to confusing "gcrypt: Failed to decrypt manifest!" errors. 2018-04-08 00:50:15 +00:00
svw
f96de42138 2018-04-06 06:51:36 +00:00
Joey Hess
e32d2624ce
response 2018-03-21 15:58:27 -04:00
Joey Hess
f709a7ab00
add pointer to newer special remote 2018-03-21 15:53:34 -04:00
hobbes@b2cacef69071743c3a831e60511062f7e014e52f
336569a995 Added a comment: Youtube-dl options per file? 2018-03-08 18:47:57 +00:00
davicastro
2a67c125e1 Added a comment: Adopting "git annex add" as default command in workflow 2018-03-08 11:21:55 +00:00
andrew
08abdbd38c 2018-03-07 23:17:54 +00:00
Joey Hess
b1c0e44c33
remove spam
This is how you get banned, get your IP block banned.
2018-02-27 11:27:19 -04:00
marjor
940f324f85 removed 2018-02-27 10:07:54 +00:00
marjor
d72281df79 Added a comment 2018-02-27 10:07:32 +00:00
marjor
3a83e73e9f 2018-02-27 10:05:32 +00:00
Joey Hess
42f154bd7e
Fix metadata hook script to support non-ascii characters
tips/automatically_adding_metadata/pre-commit-annex: Fix to not silently
skip filenames containing non-ascii characters.

git diff-index defaults to munging non-ascii characters. Using -z makes
it not do that, and then we just change the nulls to newlines.

This commit was sponsored by Jochen Bartl on Patreon.
2018-02-26 12:58:37 -04:00
git-annex@6f13b739194f758abc0b86556b7ce966c1bf3c00
c0a5663f7e removed 2018-01-17 18:50:50 +00:00
git-annex@6f13b739194f758abc0b86556b7ce966c1bf3c00
a9f76e0267 Added a comment: vimeo 2018-01-17 18:22:43 +00:00
Joey Hess
cce732ad83
document youtube channels, not playlists
The feeds for playlists seem pretty broken, since they have the oldest
items first and are truncated, so after a few dozen items, new items
never appear on them. Channel feeds don't currently have this breakage
(although perhaps Google will find a way to break them eventually..)
2018-01-04 13:44:05 -04:00
Joey Hess
6b45e1d5c2
followup 2017-12-11 14:27:33 -04:00
woffs
d141b9cdeb Added a comment: hook and quoting 2017-12-09 11:18:10 +00:00
Joey Hess
d6d8f72957
documentation update for youtube-dl
Code not updated yet.

This commit was sponsored by Thomas Hochstein on Patreon.
2017-11-28 14:05:58 -04:00
Joey Hess
8f41a1b7ce
update youtube playlist docs 2017-11-28 13:30:05 -04:00
spam@9590d16798fd27f4e38472862e296fc9828e3d39
c758a63ab3 Added a comment: remote "origin" missing some gcrypt commands? 2017-11-11 19:51:57 +00:00
Lykos153
b0634d2151 Added a comment 2017-11-09 17:35:14 +00:00
Joey Hess
8ae5f278dc
reorder 2017-11-09 12:16:52 -04:00
Joey Hess
0f40333a55
Merge branch 'master' of ssh://git-annex.branchable.com 2017-11-09 12:16:39 -04:00
Joey Hess
94923ea143
response 2017-11-09 12:16:24 -04:00
Lykos153
f187a8db64 removed 2017-11-09 02:16:06 +00:00
Lykos153
2dad469a79 removed 2017-11-09 02:15:53 +00:00
Lykos153
2e9a280221 Added a comment 2017-11-09 02:15:37 +00:00
Lykos153
d39152f118 Added a comment 2017-11-09 02:15:25 +00:00
Lykos153
29fe295e37 Added a comment 2017-11-09 02:15:11 +00:00
ynikitenko
93bd227b21 Added a comment: tutorial up to date? 2017-11-03 20:23:12 +00:00
ynikitenko
404c2e9c54 Added a comment: Is it essential to clone from the server? 2017-11-03 11:28:03 +00:00
elon.bing@6534c6b616a8fda498b5bfa4e48ca5a1ebb7c48e
15e233a763 Fixed typo: changed "an" to "a" in "an new feature" 2017-11-03 00:19:25 +00:00
elon.bing@6534c6b616a8fda498b5bfa4e48ca5a1ebb7c48e
e1321076cf Fixed typo: changed "copy" to "copies" in "two copy" 2017-11-03 00:07:33 +00:00
Joey Hess
81926f638e
responses 2017-10-30 12:10:39 -04:00
Joey Hess
24883e01cd
Fix export of subdir of a branch.
Seems I forgot to fully test that feature when documenting it.

git rev-parse needs a colon after a branch to de-reference the tree
it points to, rather than the commit. But that had it adding an extra
colon when the user specified "branch:subdir". So, check if there is a
colon before adding one.

This commit was sponsored by Francois Marier on Patreon.
2017-10-30 12:02:22 -04:00
jajpater
0b9dc04a51 Added a comment: Publishing subdir is publishing files but not subdir? 2017-10-20 10:22:25 +00:00
jajpater
003fc0ad01 Added a comment: Works when first using git annex get 2017-10-20 09:59:29 +00:00
jajpater
16cb3ec4fe Added a comment: Also fails when using UUID but differently 2017-10-20 09:47:25 +00:00
jajpater
2e9588356e Added a comment: Problem with publishing subdir. Subdir does not exist, but it does. 2017-10-20 09:21:34 +00:00
Félix Sipma
79cfae8eaf use plasma 5 location for ServiceMenus files on linux 2017-10-18 14:27:56 +02:00
Joey Hess
9b94454b25
comment 2017-09-29 13:46:33 -04:00
Joey Hess
e136f18f14
caps 2017-09-25 11:32:44 -04:00
Joey Hess
1c08945b2b
expand 2017-09-25 11:31:08 -04:00
Joey Hess
4d3a464e83
export to webdav
This basically works, but there's a bug when renaming a file that leaves
a .git-annex-temp-content-key file in the webdav store, that never gets
cleaned up.

Also, exporting files with spaces to box.com seems to fail; perhaps it
does not support it?

This commit was supported by the NSF-funded DataLad project.
2017-09-12 14:10:09 -04:00
Joey Hess
1332e6cec0
stop warning about removals from IA
In a test, I uploaded a pdf, and several files were derived from it.
After removing the pdf, the derived files went away after approximatly
half an hour. This window does not seem worth warning about every time.
Documented it in the tip.
2017-09-12 12:47:43 -04:00
Joey Hess
267f47c473
S3: Allow removing files from IA, but warn about derived versions potentially still existing there.
Removal works, only derives are a potential issue, so allow removing
with a warning. This way, unexporting a file works, and behavior is
consistent with IA remotes whether or not exporttree=yes.

Also tested exporting filenames containing unicode, spaces, underscores.
All worked, despite the IA's faq saying it doesn't.

This commit was sponsored by Trenton Cronholm on Patreon.
2017-09-12 12:35:58 -04:00
NathanCollins
1ccba439e6 Added a comment: The initremote command appears to hang due to low entropy 2017-09-10 02:32:26 +00:00
yarikoptic
b4e40c5477 very minor typo 2017-09-08 21:23:49 +00:00
Joey Hess
0228714406
consistency 2017-09-08 16:41:50 -04:00
Joey Hess
650d0955a0
S3 export finalization
Fixed ACL issue, and updated some documentation.
2017-09-08 16:28:28 -04:00
Joey Hess
44cd5ae313
S3 export (untested)
It opens a http connection per file exported, but then so does git
annex copy --to s3.

Decided not to munge exported filenames for IA. Too large a chance of
the munging having confusing results. Instead, export of files not
supported by IA, eg with spaces in their name, will fail.

This commit was supported by the NSF-funded DataLad project.
2017-09-08 15:46:24 -04:00
lykos@d125a37d89b1cfac20829f12911656c40cb70018
eab12ffbf7 Added a comment 2017-07-21 23:56:12 +00:00
hoxu
bed45dc218 Added a comment: v6 & manual annexation 2017-06-29 07:25:31 +00:00
spalax@b201acef21dca7798b874036bbbaa9e0079a0b7e
568b58e423 Added a comment: git-annex support dropped 2017-06-27 09:26:12 +00:00
Joey Hess
5cf7216774
zsh and fish completions
optparse-applicative-0.14.0.0 adds support for these, so have the
Makefile install their scripts when built with it.

CmdLine/GitAnnex/Options.hs now uses action "file" in cmdParams,
which affects the bash and zsh completions, letting them complete
filenames for subcommands that use that. This is not needed for
bash, since bash-completion.bash enables -o bashdefault, which
lets it complete filenames too. But it does not seem to break the bash
completions. It is needed for zsh; the zsh completion otherwise
does not complete filenames. The fish completion will always complete
filenames no matter what. Messy.

This commit was sponsored by Denis Dzyubenko on Patreon.
2017-06-09 11:38:20 -04:00
Joey Hess
baf9bda995
clarify that git update-server-info needs to be run on the server
forum/Trouble_setting_up_public_repo_cloneable_from_a_web_site/
was a user running that in their clone from the server..
2017-06-06 15:19:31 -04:00
yibe
3174acde3c Added a comment 2017-06-04 19:26:47 +00:00
ewen
dbc48abb32 Added a comment: git-annex on Synology DS216+ (x86-64) 2017-05-28 01:19:17 +00:00
Joey Hess
aec0627ea7
patchneeds to be sent to git 2017-05-11 13:30:15 -04:00
Joey Hess
d71af8f0be
comment 2017-05-11 12:35:34 -04:00
anarcat
ed44f67531 Added a comment: merge with scalability? 2017-04-24 14:10:29 +00:00
anarcat
3ddc08a15c put reverse on top of page 2017-04-24 13:44:07 +00:00
anarcat
3894255c16 link with brother page 2017-04-24 13:43:16 +00:00
anarcat
fef0983449 link to sister page 2017-04-24 13:42:05 +00:00
anarcat
d297dc14ce add signatures to the various sections 2017-04-24 13:40:59 +00:00
anarcat
e5e48bf7dc drop heading that was unnecessary and asymetric 2017-04-24 13:39:51 +00:00
anarcat
87c884ae0b add git-annex-forget 2017-04-24 13:39:11 +00:00
anarcat
baef423e65 fix fpart 403 error 2017-04-24 13:35:03 +00:00
anarcat
6001be11da add zini's split repo procedure 2017-04-24 13:29:25 +00:00
memeplex
db9d6e0ea0 2017-04-14 22:11:55 +00:00
memeplex
a9dd72bb97 2017-04-14 20:19:31 +00:00
Joey Hess
29e73f76ef
Added remote.<name>.annex-push and remote.<name>.annex-pull
The former can be useful to make remotes that don't get fully synced with
local changes, which comes up in a lot of situations.

The latter was mostly added for symmetry, but could be useful (though less
likely to be).

Implementing `remote.<name>.annex-pull` was a bit tricky, as there's no one
place where git-annex pulls/fetches from remotes. I audited all
instances of "fetch" and "pull". A few cases were left not checking this
config:

* Git.Repair can try to pull missing refs from a remote, and if the local
  repo is corrupted, that seems a reasonable thing to do even though
  the config would normally prevent it.
* Assistant.WebApp.Gpg and Remote.Gcrypt and Remote.Git do fetches
  as part of the setup process of a remote. The config would probably not
  be set then, and having the setup fail seems worse than honoring it if it
  is already set.

I have not prevented all the code that does a "merge" from merging branches
from remotes with remote.<name>.annex-pull=false. That could perhaps
be done, but it would need a way to map from branch name to remote name,
and the way refspecs work makes that hard to get really correct. So if the
user fetches manually, the git-annex branch will get merged, for example.
Anther way of looking at/justifying this is that the setting is called
"annex-pull", not "annex-merge".

This commit was supported by the NSF-funded DataLad project.
2017-04-05 13:22:35 -04:00
Joey Hess
e7d684b4e3
comment 2017-04-05 11:51:51 -04:00
Joey Hess
ee9b85f390
comment 2017-04-05 11:44:29 -04:00
anarcat
d2dd75f2b9 Added a comment: onion-grater 2017-03-30 14:49:13 +00:00
oberix@c7a19cddb1663df0c612a979b9d13b0d67f1f69a
a5b3b7a5a4 Added a comment: autostart and foreground together doesn't seem to work 2017-03-30 10:43:19 +00:00
anarcat
eef99dee60 add annex-sync setting sample 2017-03-27 19:50:43 +00:00
anarcat
a959b98769 link to torrent page 2017-03-27 16:25:31 +00:00
anarcat
49f1ee9610 some issue i have come up with a few times and workarounds 2017-03-27 16:23:15 +00:00
ewen
ec35d57200 Added a comment: Tracking GUIDs 2017-03-21 21:46:27 +00:00
ewen
9e84c0210b Add note about tracking guids since 2015 2017-03-21 21:36:36 +00:00
Joey Hess
297bcbcaad
comment 2017-03-21 13:34:52 -04:00
ewen
856e7a5f50 Added a comment: Track GUIDs to avoid duplicate downloads 2017-03-21 08:59:59 +00:00
ewen
12831ed724 removed 2017-03-21 08:49:19 +00:00
ewen
4652413766 Added a comment: Track GUIDs to avoid duplicate downloads 2017-03-21 08:48:05 +00:00
joern.mankiewicz@06fb5bc9b732f143dee3606866362f562531310d
9abed537f7 Added a comment: Beware global configurations! 2017-03-20 22:47:50 +00:00
Joey Hess
217cdbe6c8
comment 2017-03-20 17:19:33 -04:00
Joey Hess
a5ddef4ba3
response 2017-03-20 17:17:25 -04:00
joern.mankiewicz@06fb5bc9b732f143dee3606866362f562531310d
a88fa9f28a Added a comment: Git-annex ignores annex.largefiles in .gitattributes 2017-03-20 20:58:12 +00:00
Joey Hess
8dd3470da0
comment 2017-03-14 19:45:28 -04:00
https://launchpad.net/~stephane-gourichon-lpad
96b6d21d52 Added a comment: Isn't this procedure assuming that lost+found contains only uncorrupted previously annexed files? 2017-03-14 19:15:40 +00:00
Joey Hess
eb2db2b176
comment 2017-03-03 13:59:49 -04:00
xloem
afc65319af removed 2017-03-03 12:32:35 +00:00
xloem
52545b73be Added a comment: Non-conforming blobs 2017-03-03 12:30:35 +00:00
xloem
b7eff4a34d Added a comment: Non-conforming blobs 2017-03-03 12:29:52 +00:00
Joey Hess
701006bd83
clarification 2017-03-02 13:28:31 -04:00
dvicory
e4642a2452 Added a comment: Security of P2P repo is unclear 2017-02-28 20:30:31 +00:00
Joey Hess
2c281baf00
better headings 2017-02-27 16:18:20 -04:00
Joey Hess
3f876f72e3
larger headings 2017-02-27 16:17:19 -04:00
Joey Hess
e53070c1ff
inheritable annex.securehashesonly
* init: When annex.securehashesonly has been set with git-annex config,
  copy that value to the annex.securehashesonly git config.
* config --set: As well as setting value in git-annex branch,
  set local gitconfig. This is needed especially for
  annex.securehashesonly, which is read only from local gitconfig and not
  the git-annex branch.

doc/todo/sha1_collision_embedding_in_git-annex_keys.mdwn has the
rationalle for doing it this way. There's no perfect solution; this
seems to be the least-bad one.

This commit was supported by the NSF-funded DataLad project.
2017-02-27 16:08:23 -04:00
Joey Hess
942e0174b3
make fsck check annex.securehashesonly, and new tip for working around SHA1 collisions with git-annex
This commit was sponsored by andrea rota.
2017-02-27 13:55:15 -04:00
Joey Hess
32782ab324
linkify 2017-02-17 15:58:32 -04:00
Joey Hess
a700fdf5cf
documentation updates for new receive.denyCurrentBranch=updateInstead support
This commit was sponsored by andrea rota.
2017-02-17 15:43:16 -04:00
Edward Betts
0750913136
correct spelling mistakes 2017-02-12 17:30:23 -04:00
git-annex@6f13b739194f758abc0b86556b7ce966c1bf3c00
670f9a5116 2017-01-31 16:53:58 +00:00
Joey Hess
809ddd9df8
reusing repository uuid cannot result in data loss AFAIK
Avoiding such problems is one reason why git-annex does active
verification of other copies of a file when dropping.

You could argue that reusing the uuid of a trusted repository leads to
data loss, but that data loss doesn't really involve reusing the uuid,
but instead is caused by deleting a trusted repository. Using trusted
repositories without a great deal of care is a good way to blow off your
foot, of which deleting them is only the most obvious;
added some sections about that.

If reusing a repository uuid could result in data loss then I'd be on
board with making reinit run a fast fsck to update the location log, but
since it can't, I feel that is not worth forcing. Not a bad idea to run
fsck afterwards. Updated language about that.

This commit was sponsored by Jake Vosloo on Patreon.
2017-01-30 13:18:50 -04:00
justin@561b4852d5c1d8db31dc571612954bde7bb325a1
9119b52e71 Fixes ToC 2017-01-17 19:49:18 +00:00
https://anarc.at/openid/
7855cb715b backwards links again 2017-01-17 19:47:13 +00:00
https://anarc.at/openid/
7bbe262ff1 fix link 2017-01-17 19:46:25 +00:00
justin@561b4852d5c1d8db31dc571612954bde7bb325a1
c420cb0538 Page flow and antipattern separation 2017-01-17 19:44:12 +00:00
https://anarc.at/openid/
06296b0298 note an improvement on the reinit manpage 2017-01-17 19:35:24 +00:00
https://anarc.at/openid/
cdac57b5bd a list of problems i had with git-annex 2017-01-17 19:22:49 +00:00
Joey Hess
30136bad93
fix link and clarify 2016-12-28 12:40:43 -04:00
Joey Hess
794babf35a
add back share_with_a_friend_walkthrough, adapted for tor pairing
and some other xmpp to tor related changes
2016-12-24 15:46:02 -04:00
Joey Hess
e08691b393
enable-tor: When run as a regular user, test a connection back to the hidden service over tor.
This way we know that after enable-tor, the tor hidden service is fully
published and working, and so there should be no problems with it at
pairing time.

It has to start up its own temporary listener on the hidden service. It
would be nice to have it start the remotedaemon running, so that extra
step is not needed afterwards. But, there may already be a remotedaemon
running, in communication with the assistant and we don't want to start
another one. I thought about trying to HUP any running remotedaemon, but
Windows does not make it easy to do that. In any case, having the user
start the remotedaemon themselves lets them know it needs to be running
to serve the hidden service.

This commit was sponsored by Boyd Stephen Smith Jr. on Patreon.
2016-12-24 12:50:23 -04:00
Joey Hess
f7ca2b92fb
enable-tor: No longer needs to be run as root.
When run by not root, su's to root automatically.

This commit was sponsored by Brock Spratlen on Patreon.
2016-12-20 17:40:36 -04:00
Joey Hess
dc7fda2ec5
section on safe pairing code exchange 2016-12-19 12:27:16 -04:00
Joey Hess
ccde0932a5
p2p --pair with magic wormhole (untested)
It builds. I have not tried to run it yet. :)

This commit was sponsored by Jake Vosloo on Patreon.
2016-12-18 16:51:41 -04:00
Joey Hess
38f9337e16
Revert "p2p --link now defaults to setting up a bi-directional link"
This reverts commit 3037feb1bf.

On second thought, this was an overcomplication of what should be the
lowest-level primitive. Let's build bi-directional links at the pairing
level with eg magic wormhole.
2016-12-16 18:26:07 -04:00
Joey Hess
3037feb1bf
p2p --link now defaults to setting up a bi-directional link
Both the local and remote git repositories get remotes added
pointing at one-another.

Makes pairing twice as easy!

Security: The new LINK command in the protocol can be sent repeatedly,
but only by a peer who has authenticated with us. So, it's entirely safe to
add a link back to that peer, or to some other peer it knows about.
Anything we receive over such a link, the peer could send us over the
current connection.

There is some risk of being flooded with LINKs, and adding too many
remotes. To guard against that, there's a hard cap on the number of remotes
that can be set up this way. This will only be a problem if setting up
large p2p networks that have exceptional interconnectedness.

A new, dedicated authtoken is created when sending LINK.

This also allows, in theory, using a p2p network like tor, to learn about
links on other networks, like telehash.

This commit was sponsored by Bruno BEAUFILS on Patreon.
2016-12-16 16:38:06 -04:00
Joey Hess
e67a310da1
p2p: --link no longer takes a remote name, instead the --name option can be used. 2016-12-16 15:37:50 -04:00
Joey Hess
44c55e2441
fix links 2016-12-07 16:11:30 -04:00
Joey Hess
62043df289
git-annex-metadata-gui yay! 2016-12-07 16:00:12 -04:00
Joey Hess
76b46afed1
add section on tor speed 2016-12-07 15:21:38 -04:00
Joey Hess
2fb6fd7434
Merge branch 'master' into tor 2016-12-07 14:32:25 -04:00
Joey Hess
f3a3dc14ec
add section on security 2016-12-07 13:58:10 -04:00
Joey Hess
528c7bee24
fix up some commands 2016-12-07 12:00:27 -04:00
alpernebbi
3e0176054b 2016-12-05 19:34:55 +00:00
Joey Hess
3ab12ba923
implement p2p --link
This commit was sponsored by Riku Voipio.
2016-11-30 15:16:25 -04:00
Joey Hess
bfc8305814
implement p2p command 2016-11-30 14:35:24 -04:00
Joey Hess
a173f85578
update docs for git-annex p2p command
It is not yet implemented.
2016-11-29 17:31:10 -04:00
Joey Hess
398345cb26
Merge branch 'master' into tor 2016-11-29 15:45:29 -04:00
StephaneGourichon
27585f7569 Added a comment: Walkthrough of a prudent retroactive annex. 2016-11-24 11:27:59 +00:00