Merge branch 'master' of ssh://git-annex.branchable.com

This commit is contained in:
Joey Hess 2020-11-24 12:31:33 -04:00
commit e59cec1755
No known key found for this signature in database
GPG key ID: DB12DB0FF05F8F38
5 changed files with 355 additions and 0 deletions

View file

@ -0,0 +1,8 @@
[[!comment format=mdwn
username="Lukey"
avatar="http://cdn.libravatar.org/avatar/c7c08e2efd29c692cc017c4a4ca3406b"
subject="comment 1"
date="2020-11-23T19:00:55Z"
content="""
There are some details missing here. Did git-annex actually drop the last copy of one of the files? Usually git annex will refuse to do this. What does `git annex fsck --fast --quiet` say?
"""]]

View file

@ -0,0 +1,147 @@
As of commit 02b9764ff, after building git-annex on Windows with [this patch](https://git-annex.branchable.com/bugs/Patch_for_compilation_errors_on_Windows/) fully applied, running `git annex test` fails with the following output:
[[!format sh """
Tests
QuickCheck
prop_encode_decode_roundtrip: OK (0.05s)
+++ OK, passed 1000 tests.
prop_encode_c_decode_c_roundtrip: OK (0.02s)
+++ OK, passed 1000 tests.
prop_isomorphic_key_encode: OK (0.03s)
+++ OK, passed 1000 tests.
prop_isomorphic_shellEscape: OK (0.02s)
+++ OK, passed 1000 tests.
prop_isomorphic_shellEscape_multiword: OK (0.68s)
+++ OK, passed 1000 tests.
prop_isomorphic_configEscape: OK (0.02s)
+++ OK, passed 1000 tests.
prop_parse_show_Config: OK (0.04s)
+++ OK, passed 1000 tests.
prop_upFrom_basics: OK (0.02s)
+++ OK, passed 1000 tests.
prop_relPathDirToFileAbs_basics: OK (0.04s)
+++ OK, passed 1000 tests.
prop_relPathDirToFileAbs_regressionTest: OK
+++ OK, passed 1 test.
prop_cost_sane: OK
+++ OK, passed 1 test.
prop_matcher_sane: OK
+++ OK, passed 1 test.
prop_HmacSha1WithCipher_sane: OK
+++ OK, passed 1 test.
prop_VectorClock_sane: OK
+++ OK, passed 1 test.
prop_addMapLog_sane: OK
+++ OK, passed 1 test.
prop_verifiable_sane: OK (0.07s)
+++ OK, passed 1000 tests.
prop_segment_regressionTest: OK
+++ OK, passed 1 test.
prop_read_write_transferinfo: OK (0.04s)
+++ OK, passed 1000 tests.
prop_read_show_inodecache: OK (0.03s)
+++ OK, passed 1000 tests.
prop_parse_build_presence_log: OK (1.39s)
+++ OK, passed 1000 tests.
prop_parse_build_contentidentifier_log: OK (1.32s)
+++ OK, passed 1000 tests.
prop_read_show_TrustLevel: OK
+++ OK, passed 1 test.
prop_parse_build_TrustLevelLog: OK
+++ OK, passed 1 test.
prop_schedule_roundtrips: OK (0.01s)
+++ OK, passed 1000 tests.
prop_past_sane: OK
+++ OK, passed 1 test.
prop_duration_roundtrips: OK
+++ OK, passed 1000 tests.
prop_metadata_sane: OK (0.82s)
+++ OK, passed 1000 tests.
prop_metadata_serialize: OK (0.89s)
+++ OK, passed 1000 tests.
prop_branchView_legal: OK (0.69s)
+++ OK, passed 1000 tests.
prop_viewPath_roundtrips: OK (0.05s)
+++ OK, passed 1000 tests.
prop_view_roundtrips: OK (0.41s)
+++ OK, passed 1000 tests.
prop_viewedFile_rountrips: OK (0.03s)
+++ OK, passed 1000 tests.
prop_b64_roundtrips: OK (0.03s)
+++ OK, passed 1000 tests.
prop_standardGroups_parse: OK
+++ OK, passed 1 test.
sha1 stable: OK
+++ OK, passed 1 test.
sha2_224 stable: OK
+++ OK, passed 1 test.
sha2_256 stable: OK
+++ OK, passed 1 test.
sha2_384 stable: OK
+++ OK, passed 1 test.
sha2_512 stable: OK
+++ OK, passed 1 test.
skein256 stable: OK
+++ OK, passed 1 test.
skein512 stable: OK
+++ OK, passed 1 test.
sha3_224 stable: OK
+++ OK, passed 1 test.
sha3_256 stable: OK
+++ OK, passed 1 test.
sha3_384 stable: OK
+++ OK, passed 1 test.
sha3_512 stable: OK
+++ OK, passed 1 test.
blake2s_160 stable: OK
+++ OK, passed 1 test.
blake2s_224 stable: OK
+++ OK, passed 1 test.
blake2s_256 stable: OK
+++ OK, passed 1 test.
blake2sp_224 stable: OK
+++ OK, passed 1 test.
blake2sp_256 stable: OK
+++ OK, passed 1 test.
blake2b_160 stable: OK
+++ OK, passed 1 test.
blake2b_224 stable: OK
+++ OK, passed 1 test.
blake2b_256 stable: OK
+++ OK, passed 1 test.
blake2b_384 stable: OK
+++ OK, passed 1 test.
blake2b_512 stable: OK
+++ OK, passed 1 test.
blake2bp_512 stable: OK
+++ OK, passed 1 test.
md5 stable: OK
+++ OK, passed 1 test.
HmacSha1 stable: OK
+++ OK, passed 1 test.
HmacSha224 stable: OK
+++ OK, passed 1 test.
HmacSha256 stable: OK
+++ OK, passed 1 test.
HmacSha384 stable: OK
+++ OK, passed 1 test.
HmacSha512 stable: OK
+++ OK, passed 1 test.
Remote Tests
remote type directory
Detected a filesystem without fifo support.
Disabling ssh connection caching.
Detected a crippled filesystem.
Entering an adjusted branch where files are unlocked as this filesystem does not support locked files.
Switched to branch 'adjusted/master(unlocked)'
git-annex.exe: System.PosixCompat.Files.removeLink: not supported: illegal operation
init: FAIL (1.48s)
Test.hs:250:
init failed
unavailable remote
removeKey:
##[error]Process completed with exit code 124.
"""]]
[[!meta author=jwodder]]
[[!tag projects/datalad]]

View file

@ -0,0 +1,170 @@
[[!comment format=mdwn
username="jkniiv"
avatar="http://cdn.libravatar.org/avatar/05fd8b33af7183342153e8013aa3713d"
subject="I concur, in fact `git annex init` doesn't work at all"
date="2020-11-24T16:28:24Z"
content="""
You don't need to apply that patch anymore as it's already integrated in said commit.
In any case a regular `git annex init` fails at the end of it -- no need to even run the tests.
The following is a full `--debug` trace of the problem (run in *Git Bash*):
[[!format sh \"\"\"
jkniiv@AINESIS MINGW64 /c/annx/jkniiv
$ git init test-annex-doesnt-init7
Initialized empty Git repository in C:/annx/jkniiv/test-annex-doesnt-init7/.git/
jkniiv@AINESIS MINGW64 /c/annx/jkniiv
$ cd test-annex-doesnt-init7/
jkniiv@AINESIS MINGW64 /c/annx/jkniiv/test-annex-doesnt-init7 (master)
$ ../../git-annex.exe init --debug \"this a a test annex\"
init this a a test annex [2020-11-24 18:15:09.0966726] process [14724] read: git [\"--git-dir=.git\",\"--work-tree=.\",\"--literal-pathspecs\",\"show-ref\",\"--hash\",\"refs/heads/git-annex\"]
[2020-11-24 18:15:09.1256729] process [14724] done ExitFailure 1
[2020-11-24 18:15:09.132673] process [25092] call: git [\"--git-dir=.git\",\"--work-tree=.\",\"--literal-pathspecs\",\"show-ref\",\"--verify\",\"-q\",\"origin/git-annex\"]
[2020-11-24 18:15:09.167677] process [25092] done ExitFailure 1
[2020-11-24 18:15:09.1966739] process [19304] read: git [\"--git-dir=.git\",\"--work-tree=.\",\"--literal-pathspecs\",\"write-tree\"]
[2020-11-24 18:15:09.2326676] process [19304] done ExitSuccess
[2020-11-24 18:15:09.2396739] process [21104] chat: git [\"--git-dir=.git\",\"--work-tree=.\",\"--literal-pathspecs\",\"commit-tree\",\"4b825dc642cb6eb9a060e54bf8d69288fbee4904\",\"--no-gpg-sign\"]
[2020-11-24 18:15:09.2867321] process [21104] done ExitSuccess
[2020-11-24 18:15:09.2946728] process [18512] call: git [\"--git-dir=.git\",\"--work-tree=.\",\"--literal-pathspecs\",\"update-ref\",\"refs/heads/git-annex\",\"52d153a914036befb21509dffd71b1c61f963128\"]
[2020-11-24 18:15:09.3826786] process [18512] done ExitSuccess
[2020-11-24 18:15:09.4066808] process [9000] call: git [\"--git-dir=.git\",\"--work-tree=.\",\"--literal-pathspecs\",\"config\",\"annex.uuid\",\"be53d345-4055-410a-bd96-3406cf2ea624\"]
[2020-11-24 18:15:09.4456722] process [9000] done ExitSuccess
[2020-11-24 18:15:09.4566773] process [19308] read: git [\"config\",\"--null\",\"--list\"]
[2020-11-24 18:15:09.4996747] process [19308] done ExitSuccess
Detected a filesystem without fifo support.
Disabling ssh connection caching.
[2020-11-24 18:15:09.5086746] process [12268] call: git [\"--git-dir=.git\",\"--work-tree=.\",\"--literal-pathspecs\",\"config\",\"annex.sshcaching\",\"false\"]
[2020-11-24 18:15:09.5546777] process [12268] done ExitSuccess
[2020-11-24 18:15:09.5626825] process [3884] read: git [\"config\",\"--null\",\"--list\"]
[2020-11-24 18:15:09.6017154] process [3884] done ExitSuccess
Detected a crippled filesystem.
[2020-11-24 18:15:09.6106759] process [10728] call: git [\"--git-dir=.git\",\"--work-tree=.\",\"--literal-pathspecs\",\"config\",\"annex.crippledfilesystem\",\"true\"]
[2020-11-24 18:15:09.6466714] process [10728] done ExitSuccess
[2020-11-24 18:15:09.6536743] process [24072] read: git [\"config\",\"--null\",\"--list\"]
[2020-11-24 18:15:09.6836731] process [24072] done ExitSuccess
[2020-11-24 18:15:09.6996718] process [2080] read: git [\"--git-dir=.git\",\"--work-tree=.\",\"--literal-pathspecs\",\"show-ref\",\"git-annex\"]
[2020-11-24 18:15:09.7376661] process [2080] done ExitSuccess
[2020-11-24 18:15:09.7436799] process [26508] read: git [\"--git-dir=.git\",\"--work-tree=.\",\"--literal-pathspecs\",\"show-ref\",\"--hash\",\"refs/heads/git-annex\"]
[2020-11-24 18:15:09.7766675] process [26508] done ExitSuccess
[2020-11-24 18:15:09.7857266] process [11880] read: git [\"--git-dir=.git\",\"--work-tree=.\",\"--literal-pathspecs\",\"log\",\"refs/heads/git-annex..52d153a914036befb21509dffd71b1c61f963128\",\"--pretty=%H\",\"-n1\"]
[2020-11-24 18:15:09.823668] process [11880] done ExitSuccess
[2020-11-24 18:15:09.8326743] process [13328] chat: git [\"--git-dir=.git\",\"--work-tree=.\",\"--literal-pathspecs\",\"hash-object\",\"-w\",\"--stdin-paths\",\"--no-filters\"]
[2020-11-24 18:15:09.8406709] process [276] chat: git [\"--git-dir=.git\",\"--work-tree=.\",\"--literal-pathspecs\",\"cat-file\",\"--batch\"]
[2020-11-24 18:15:09.848678] process [12984] chat: git [\"--git-dir=.git\",\"--work-tree=.\",\"--literal-pathspecs\",\"cat-file\",\"--batch-check=%(objectname) %(objecttype) %(objectsize)\"]
[2020-11-24 18:15:09.858682] process [14224] feed: git [\"--git-dir=.git\",\"--work-tree=.\",\"--literal-pathspecs\",\"update-index\",\"-z\",\"--index-info\"]
[2020-11-24 18:15:09.8726713] process [21748] read: git [\"--git-dir=.git\",\"--work-tree=.\",\"--literal-pathspecs\",\"diff-index\",\"--raw\",\"-z\",\"-r\",\"--no-renames\",\"-l0\",\"--cached\",\"refs/heads/git-annex\",\"--\"]
[2020-11-24 18:15:09.9246702] process [21748] done ExitSuccess
[2020-11-24 18:15:09.9316687] process [14224] done ExitSuccess
[2020-11-24 18:15:09.9476714] process [21624] call: git [\"--git-dir=.git\",\"--work-tree=.\",\"--literal-pathspecs\",\"config\",\"annex.version\",\"8\"]
[2020-11-24 18:15:09.978666] process [21624] done ExitSuccess
[2020-11-24 18:15:09.9866767] process [25956] read: git [\"config\",\"--null\",\"--list\"]
[2020-11-24 18:15:10.0146718] process [25956] done ExitSuccess
[2020-11-24 18:15:10.0216809] process [5596] read: git [\"--git-dir=.git\",\"--work-tree=.\",\"--literal-pathspecs\",\"status\",\"--porcelain\"]
[2020-11-24 18:15:10.0697039] process [5596] done ExitSuccess
[2020-11-24 18:15:10.0746735] process [9184] call: git [\"--git-dir=.git\",\"--work-tree=.\",\"--literal-pathspecs\",\"config\",\"filter.annex.smudge\",\"git-annex smudge -- %f\"]
[2020-11-24 18:15:10.1026708] process [9184] done ExitSuccess
[2020-11-24 18:15:10.1086806] process [6224] read: git [\"config\",\"--null\",\"--list\"]
[2020-11-24 18:15:10.1396676] process [6224] done ExitSuccess
[2020-11-24 18:15:10.1436682] process [8364] call: git [\"--git-dir=.git\",\"--work-tree=.\",\"--literal-pathspecs\",\"config\",\"filter.annex.clean\",\"git-annex smudge --clean -- %f\"]
[2020-11-24 18:15:10.1726771] process [8364] done ExitSuccess
[2020-11-24 18:15:10.1796716] process [11776] read: git [\"config\",\"--null\",\"--list\"]
[2020-11-24 18:15:10.2096719] process [11776] done ExitSuccess
(scanning for unlocked files...)
[2020-11-24 18:15:10.2166803] process [8628] read: git [\"--git-dir=.git\",\"--work-tree=.\",\"--literal-pathspecs\",\"show-ref\",\"--head\"]
[2020-11-24 18:15:10.2486682] process [8628] done ExitSuccess
[2020-11-24 18:15:10.2736792] process [1164] read: git [\"--git-dir=.git\",\"--work-tree=.\",\"--literal-pathspecs\",\"symbolic-ref\",\"-q\",\"HEAD\"]
[2020-11-24 18:15:10.3076677] process [1164] done ExitSuccess
[2020-11-24 18:15:10.312673] process [16932] read: git [\"--git-dir=.git\",\"--work-tree=.\",\"--literal-pathspecs\",\"show-ref\",\"refs/heads/master\"]
[2020-11-24 18:15:10.3456662] process [16932] done ExitFailure 1
Entering an adjusted branch where files are unlocked as this filesystem does not support locked files.
[2020-11-24 18:15:10.3526723] process [23920] read: git [\"--version\"]
[2020-11-24 18:15:10.3786705] process [23920] done ExitSuccess
[2020-11-24 18:15:10.3856741] process [24572] read: git [\"--git-dir=.git\",\"--work-tree=.\",\"--literal-pathspecs\",\"symbolic-ref\",\"-q\",\"HEAD\"]
[2020-11-24 18:15:10.4296714] process [24572] done ExitSuccess
[2020-11-24 18:15:10.4376789] process [24056] read: git [\"--git-dir=.git\",\"--work-tree=.\",\"--literal-pathspecs\",\"show-ref\",\"refs/heads/master\"]
[2020-11-24 18:15:10.4866748] process [24056] done ExitFailure 1
[2020-11-24 18:15:10.4946748] process [1728] call: git [\"--git-dir=.git\",\"--work-tree=.\",\"--literal-pathspecs\",\"commit\",\"--no-gpg-sign\",\"--quiet\",\"--allow-empty\",\"-m\",\"commit before entering adjusted unlocked branch\"]
[2020-11-24 18:15:11.0776691] process [1728] done ExitSuccess
[2020-11-24 18:15:11.0826695] process [3640] read: git [\"--git-dir=.git\",\"--work-tree=.\",\"--literal-pathspecs\",\"symbolic-ref\",\"-q\",\"HEAD\"]
[2020-11-24 18:15:11.108669] process [3640] done ExitSuccess
[2020-11-24 18:15:11.1136702] process [15176] read: git [\"--git-dir=.git\",\"--work-tree=.\",\"--literal-pathspecs\",\"show-ref\",\"refs/heads/master\"]
[2020-11-24 18:15:11.1466682] process [15176] done ExitSuccess
[2020-11-24 18:15:11.1536783] process [24472] call: git [\"--git-dir=.git\",\"--work-tree=.\",\"--literal-pathspecs\",\"show-ref\",\"--verify\",\"-q\",\"refs/heads/adjusted/master(unlocked)\"]
[2020-11-24 18:15:11.186678] process [24472] done ExitFailure 1
[2020-11-24 18:15:11.1916747] process [25668] read: git [\"--git-dir=.git\",\"--work-tree=.\",\"--literal-pathspecs\",\"symbolic-ref\",\"-q\",\"HEAD\"]
[2020-11-24 18:15:11.2236679] process [25668] done ExitSuccess
[2020-11-24 18:15:11.2286695] process [16952] read: git [\"--git-dir=.git\",\"--work-tree=.\",\"--literal-pathspecs\",\"show-ref\",\"refs/heads/master\"]
[2020-11-24 18:15:11.2596741] process [16952] done ExitSuccess
[2020-11-24 18:15:11.2656783] process [16796] call: git [\"--git-dir=.git\",\"--work-tree=.\",\"--literal-pathspecs\",\"show-ref\",\"--verify\",\"-q\",\"refs/heads/adjusted/master(unlocked)\"]
[2020-11-24 18:15:11.2966705] process [16796] done ExitFailure 1
[2020-11-24 18:15:11.3046729] process [18584] call: git [\"--git-dir=.git\",\"--work-tree=.\",\"--literal-pathspecs\",\"update-ref\",\"refs/basis/adjusted/master(unlocked)\",\"refs/heads/master\"]
[2020-11-24 18:15:11.3506912] process [18584] done ExitSuccess
[2020-11-24 18:15:11.3556766] process [13908] chat: git [\"--git-dir=.git\",\"--work-tree=.\",\"--literal-pathspecs\",\"mktree\",\"--batch\",\"-z\"]
[2020-11-24 18:15:11.3626729] process [20108] read: git [\"--git-dir=.git\",\"--work-tree=.\",\"--literal-pathspecs\",\"ls-tree\",\"--full-tree\",\"-z\",\"-r\",\"-t\",\"--\",\"refs/basis/adjusted/master(unlocked)\"]
[2020-11-24 18:15:11.4036732] process [20108] done ExitSuccess
[2020-11-24 18:15:11.406668] process [13908] done ExitSuccess
[2020-11-24 18:15:11.411672] process [9932] chat: git [\"--git-dir=.git\",\"--work-tree=.\",\"--literal-pathspecs\",\"cat-file\",\"--batch\"]
[2020-11-24 18:15:11.4176708] process [10324] chat: git [\"--git-dir=.git\",\"--work-tree=.\",\"--literal-pathspecs\",\"cat-file\",\"--batch-check=%(objectname) %(objecttype) %(objectsize)\"]
[2020-11-24 18:15:11.4726702] process [20936] chat: git [\"--git-dir=.git\",\"--work-tree=.\",\"--literal-pathspecs\",\"commit-tree\",\"4b825dc642cb6eb9a060e54bf8d69288fbee4904\",\"--no-gpg-sign\",\"-p\",\"refs/basis/adjusted/master(unlocked)\"]
[2020-11-24 18:15:11.5406728] process [20936] done ExitSuccess
[2020-11-24 18:15:11.5476778] process [18764] call: git [\"--git-dir=.git\",\"--work-tree=.\",\"--literal-pathspecs\",\"update-ref\",\"-m\",\"entering adjusted branch\",\"refs/heads/adjusted/master(unlocked)\",\"e2fe9e06e323660a2161f243f1d691a46297f7b9\"]
[2020-11-24 18:15:11.6186724] process [18764] done ExitSuccess
[2020-11-24 18:15:11.6266754] process [22820] call: git [\"--git-dir=.git\",\"--work-tree=.\",\"--literal-pathspecs\",\"checkout\",\"adjusted/master(unlocked)\",\"--progress\"]
Switched to branch 'adjusted/master(unlocked)'
[2020-11-24 18:15:11.9456734] process [22820] done ExitSuccess
ok
[2020-11-24 18:15:11.981671] process [16872] feed: git [\"--git-dir=.git\",\"--work-tree=.\",\"--literal-pathspecs\",\"update-index\",\"-z\",\"--index-info\"]
[2020-11-24 18:15:12.0146692] process [16872] done ExitSuccess
[2020-11-24 18:15:12.0216752] process [17292] read: git [\"--git-dir=.git\",\"--work-tree=.\",\"--literal-pathspecs\",\"show-ref\",\"--hash\",\"refs/heads/git-annex\"]
[2020-11-24 18:15:12.0616647] process [17292] done ExitSuccess
(recording state in git...)
[2020-11-24 18:15:12.0686717] process [20456] feed: git [\"--git-dir=.git\",\"--work-tree=.\",\"--literal-pathspecs\",\"update-index\",\"-z\",\"--index-info\"]
[2020-11-24 18:15:12.0756702] process [264] read: git [\"--git-dir=.git\",\"--work-tree=.\",\"--literal-pathspecs\",\"diff-index\",\"--raw\",\"-z\",\"-r\",\"--no-renames\",\"-l0\",\"--cached\",\"refs/heads/git-annex\",\"--\"]
[2020-11-24 18:15:12.1226698] process [264] done ExitSuccess
[2020-11-24 18:15:12.1286677] process [20456] done ExitSuccess
[2020-11-24 18:15:12.1426731] process [3904] read: git [\"--git-dir=.git\",\"--work-tree=.\",\"--literal-pathspecs\",\"write-tree\"]
[2020-11-24 18:15:12.1896708] process [3904] done ExitSuccess
[2020-11-24 18:15:12.1956708] process [19908] chat: git [\"--git-dir=.git\",\"--work-tree=.\",\"--literal-pathspecs\",\"commit-tree\",\"b8eead277bae945458edc01f8f15f06c9b0d41b0\",\"--no-gpg-sign\",\"-p\",\"refs/heads/git-annex\"]
[2020-11-24 18:15:12.2446677] process [19908] done ExitSuccess
[2020-11-24 18:15:12.2516714] process [15256] call: git [\"--git-dir=.git\",\"--work-tree=.\",\"--literal-pathspecs\",\"update-ref\",\"refs/heads/git-annex\",\"f596f889462d76e46876497a6505e9d33f5b5012\"]
[2020-11-24 18:15:12.2986749] process [15256] done ExitSuccess
git-annex.exe: System.PosixCompat.Files.removeLink: not supported: illegal operation
jkniiv@AINESIS MINGW64 /c/annx/jkniiv/test-annex-doesnt-init7 (adjusted/master(unlocked))
$ ../../git-annex.exe version
git-annex version: 8.20201117-g02b9764ff
build flags: Assistant Webapp Pairing TorrentParser Feeds Testsuite S3 WebDAV
dependency versions: aws-0.22 bloomfilter-2.0.1.0 cryptonite-0.26 DAV-1.3.4 feed-1.3.0.1 ghc-8.8.4 http-client-0.6.4.1 persistent-sqlite-2.10.6.2 torrent-10000.1.1 uuid-1.3.13 yesod-1.6.1.0
key/value backends: SHA256E SHA256 SHA512E SHA512 SHA224E SHA224 SHA384E SHA384 SHA3_256E SHA3_256 SHA3_512E SHA3_512 SHA3_224E SHA3_224 SHA3_384E SHA3_384 SKEIN256E SKEIN256 SKEIN512E SKEIN512 BLAKE2B256E BLAKE2B256 BLAKE2B512E BLAKE2B512 BLAKE2B160E BLAKE2B160 BLAKE2B224E BLAKE2B224 BLAKE2B384E BLAKE2B384 BLAKE2BP512E BLAKE2BP512 BLAKE2S256E BLAKE2S256 BLAKE2S160E BLAKE2S160 BLAKE2S224E BLAKE2S224 BLAKE2SP256E BLAKE2SP256 BLAKE2SP224E BLAKE2SP224 SHA1E SHA1 MD5E MD5 WORM URL X*
remote types: git gcrypt p2p S3 bup directory rsync web bittorrent webdav adb tahoe glacier ddar git-lfs httpalso hook external
operating system: mingw32 x86_64
supported repository versions: 8
upgrade supported from repository versions: 2 3 4 5 6 7
local repository version: 8
jkniiv@AINESIS MINGW64 /c/annx/jkniiv/test-annex-doesnt-init7 (adjusted/master(unlocked))
$ cat .git/config
[core]
repositoryformatversion = 0
filemode = false
bare = false
logallrefupdates = true
symlinks = false
ignorecase = true
[annex]
uuid = be53d345-4055-410a-bd96-3406cf2ea624
sshcaching = false
crippledfilesystem = true
version = 8
[filter \"annex\"]
smudge = git-annex smudge -- %f
clean = git-annex smudge --clean -- %f
\"\"\"]]
"""]]

View file

@ -0,0 +1,8 @@
[[!comment format=mdwn
username="Lukey"
avatar="http://cdn.libravatar.org/avatar/c7c08e2efd29c692cc017c4a4ca3406b"
subject="comment 1"
date="2020-11-23T19:06:13Z"
content="""
Did you change the [[backend|https://git-annex.branchable.com/backends/]] of some files via `.gitattributes` in the meantime? I think git annex's smudge/clean filter will then return the hash of the new backend and that differs from the one of the old backend, so git reports the files as changed.
"""]]

View file

@ -0,0 +1,22 @@
Hello everyone,
We are distributing large datasets with git-annex under our own infrastructure (for scientific purposes) and we need to implement long term backups on a different site. What is most important for us is to backup the original data files which are expensive to produce. These backups should only be retrieved in case of a disaster, so retrieval costs and delays don't really matter, what matters the most is to keep storage costs as low as possible. Amazon Glacier is therefore a good fit for this purpose.
At first sight the easiest way was to use glacier special remotes, as it makes it very easy to backup the files we need with `git annex copy`. Another advantage is hybrid encryption : git-annex allows flexible end-to-end encryption with decryption keys redundancy.
*However*, there seems to be a few pitfalls :
1. What if a disaster occurs and we lose the git repository all the whole history/git-annex branch ? Could we still recover the data itself with this strategy ? First assuming no encryption, then assuming encryption and that we have access to only the cipher (stored in remote.log) and at least one decryption private key. Since we would not be able to `git-annex get` the files, it will be painful - but I am wondering if this is even possible at all as for instance Glacier vaults don't seem to store filenames...
2. Datasets might undergo updates after being archived. We are not very interested in backing up these updates or very infrequently, as Glacier archives are meant to backup the underlying data in our case. But what if e.g. some large files are moved or merged ? Will this break `git annex get` ?
3. [glacier-cli](https://github.com/basak/glacier-cli) does not seem to be actively maintained. For instance, it breaks with python3 (had to use python2.7 to git annex get files). Glacier is meant for long term backups. Wouldn't it be a problem if breaking changes occur at some level (AWS/boto) and glacier-cli remains outdated ? It seems to be more plausible than a failure with Glacier itself.
Based on these considerations, I am wondering whether we should consider other options, including :
- not using glacier but s3 w/ glacier storage class
- not using git-annex at all for the archives but rclone for instance
I am also wondering if glacier would be suited for frequent backups, without uncontrolled costs - even though this is not really our need here, the most important is to have a copy of the data after it's been organised and cleaned up.
Thank you for your insights !