### Please describe the problem. Some remotes disappeared from `git annex info` after synchronising with a new repo. ### What steps will reproduce the problem? 1. have a nice repository full of remotes and special remotes 2. create a new repository with `git init; git annex init; git reinit ` 3. sync the two repositories Expected the result: restore the lost repository the its previous state. Actual result: previous state available, but lost track of other repositories. I suspect there may be a relation to an old "forget history" transition at play here, as the last commit on the git-annex branch is: ``` commit 266099a48af81eab71d27741b43776372aa519c4 Merge: 13ed0a6 05681b9 Author: Antoine Beaupré Date: Wed Mar 30 12:49:55 2016 -0400 continuing transition ["forget git history","forget dead remotes","forget git history","forget dead remotes","forget git history","forget git history","forget dead remotes","forget git history","forget dead remotes","forget git history","forget dead remotes","forget git history","forget dead remotes"] ``` So in short, some remotes that i never marked as dead seem to be caught in the whirlpool of `forget` transitions. ### What version of git-annex are you using? On what operating system? 5.20151208-1~bpo8+1 on debian jessie. ### Please provide any additional information below. So here's what i could salvage from my terminal history. Note that window resizing may have truncated some lines. Apologies for the mess... [1077]anarcat@angela:cb39412b-d221-4846-a9dd-cdbabd9958f1$ sudo mkdir Music [1078]anarcat@angela:cb39412b-d221-4846-a9dd-cdbabd9958f1$ sudo chown anarcat Music [1079]anarcat@angela:cb39412b-d221-4846-a9dd-cdbabd9958f1$ cd Music/ [1082]anarcat@angela:Music$ git init Dépôt Git vide initialisé dans /media/anarcat/cb39412b-d221-4846-a9dd-cdbabd9958f1/Music/.gi [1083]anarcat@angela:Music$ git annex init init ok (recording state in git...) [1084]anarcat@angela:Music130$ git annex reinit 6f812272-18c8-4346-b68a-f57ae50f657e reinit 6f812272-18c8-4346-b68a-f57ae50f657e ok [1086]anarcat@angela:Music$ git remote add origin ~/mp3 [1087]anarcat@angela:Music$ git remote update # 12:44 Récupération de origin warning: no common commits remote: Décompte des objets: 819312, fait. remote: Compression des objets: 100% (368189/368189), fait. Réception d'objets: 100% (819312/819312), 64.97 MiB | 5.19 MiB/s, fait. remote: Total 819312 (delta 653024), reused 588679 (delta 449859) Depuis /home/anarcat/mp3 * [nouvelle branche] git-annex -> origin/git-annex * [nouvelle branche] master -> origin/master * [nouvelle branche] synced/git-annex -> origin/synced/git-annex * [nouvelle branche] synced/master -> origin/synced/master * [nouvelle étiquette] bak -> bak [1089]anarcat@angela:Music$ git annex merge merge git-annex (merging origin/git-annex origin/synced/git-annex into git-annex...) (recording state in git...) [1092]anarcat@angela:Music$ git co master Extraction des fichiers: 100% (22187/22187), fait. La branche master est paramétrée pour suivre la branche distante master depuis origin. Déjà sur 'master' [1099]anarcat@angela:Music130$ date; time git annex get --quiet --in here; date mercredi 30 mars 2016, 12:53:29 (UTC-0400) sha256sum: .git/annex/tmp/SHA256E-s4476433--bb954dfe81f3d0906a18e53d02040d1d8f8e78917552e0033b056bbf885710d9.mp3: Aucun fichier ou dossier de ce type sha256sum failed git-annex: .git/annex/tmp/SHA256E-s4476433--bb954dfe81f3d0906a18e53d02040d1d8f8e78917552e0033b056bbf885710d9.mp3: openBinaryFile: does not exist (No such file or directory) git-annex: get: 1 failed Command exited with non-zero status 1 156.09user 39.26system 36:44.62elapsed 8%CPU (0avgtext+0avgdata 44900maxresident)k 8775224inputs+5811728outputs (51major+281689minor)pagefaults 0swaps mercredi 30 mars 2016, 13:30:36 (UTC-0400) ... in the last step, the external device disappeared and the transfer failed. After reconnecting the device, I tried to synchronise its content with the content of another device, but that device is gone! [[!format sh """ [1013]anarcat@angela:Music1$ git annex info --fast # first notice how the remotes are not the same on the two repositories repository mode: indirect trusted repositories: 0 semitrusted repositories: 5 00000000-0000-0000-0000-000000000001 -- web 00000000-0000-0000-0000-000000000002 -- bittorrent 0f9185ea-8462-4230-8cae-462a1ad0df36 -- origin 45124790-dbb7-4e2e-bc0a-acfb618a01e0 -- anarcat@angela:/media/anarcat/cb39412b-d221-4846-a9dd-cdbabd9958f1/Music 6f812272-18c8-4346-b68a-f57ae50f657e -- here untrusted repositories: 0 transfers in progress: none available local disk space: 4.68 gigabytes (+1 megabyte reserved) [1014]anarcat@angela:Music$ cd ~/mp3 [1015]anarcat@angela:mp3$ git annex info --fast # here there is a lot more remotes! repository mode: indirect trusted repositories: 4 22921df6-ff75-491c-b5d9-5a2aab33a689 -- anarcat@marcos:/media/anarcat/79884590-6445-4a6f-ae12-050b9a7c1912/mp3 b7802161-c984-4c9f-8d05-787a29c41cfe -- anarcat@marcos:/srv/mp3 [marcos] c2ca4a13-9a5f-461b-a44b-53255ed3e2f9 -- anarcat@desktop008:/srv/musique/anarcat/mp3 [markov] f8818d12-9882-4ca5-bc0f-04e987888a8d -- anarcat@marcos:/media/anarcat/green_crypt/mp3/ semitrusted repositories: 8 00000000-0000-0000-0000-000000000001 -- web 00000000-0000-0000-0000-000000000002 -- bittorrent 0f9185ea-8462-4230-8cae-462a1ad0df36 -- anarcat@angela:~/mp3 [here] 3f6d8082-6f4b-4faa-a3d9-bd5db1891077 -- anarcat@lab-sc.no-ip.org:mp3 4249a4ea-343a-43a8-9bba-457d2ff87c7d -- rachel@topcrapn:~/Musique/MUSIC/anarcat 487dda55-d164-4bf1-9d85-66caaa9c0743 -- 300GB hard drive labeled VHS [VHS] 6f812272-18c8-4346-b68a-f57ae50f657e -- htcones f867da6f-78cb-49be-a0db-d1c8e5f53664 -- n900 untrusted repositories: 0 transfers in progress: none available local disk space: 13.51 gigabytes (+1 megabyte reserved) [1016]anarcat@angela:mp3$ cd - /media/anarcat/cb39412b-d221-4846-a9dd-cdbabd9958f1/Music [1017]anarcat@angela:Music$ git annex find --in f867da6f-78cb-49be-a0db-d1c8e5f53664 --not --in here # trying to sync with the n900 remote git-annex: there is no available git remote named "f867da6f-78cb-49be-a0db-d1c8e5f53664" [1018]anarcat@angela:Music1$ git annex sync # maybe some data is missing? commit ok pull origin ok push origin Décompte des objets: 6368, fait. Delta compression using up to 2 threads. Compression des objets: 100% (6361/6361), fait. Écriture des objets: 100% (6368/6368), 693.21 KiB | 565.00 KiB/s, fait. Total 6368 (delta 5030), reused 11 (delta 3) To /home/anarcat/mp3 05681b9..266099a git-annex -> synced/git-annex ok [1019]anarcat@angela:Music$ git annex find --in f867da6f-78cb-49be-a0db-d1c8e5f53664 --not --in here # trying again git-annex: there is no available git remote named "f867da6f-78cb-49be-a0db-d1c8e5f53664" [1020]anarcat@angela:Music1$ git annex find --in n900 --not --in here # of course, n900 is not a git remote locally git-annex: there is no available git remote named "n900" [1021]anarcat@angela:Music1$ git annex info --fast # and it's still not there repository mode: indirect trusted repositories: 0 semitrusted repositories: 5 00000000-0000-0000-0000-000000000001 -- web 00000000-0000-0000-0000-000000000002 -- bittorrent 0f9185ea-8462-4230-8cae-462a1ad0df36 -- origin 45124790-dbb7-4e2e-bc0a-acfb618a01e0 -- anarcat@angela:/media/anarcat/cb39412b-d221- 6f812272-18c8-4346-b68a-f57ae50f657e -- here untrusted repositories: 0 transfers in progress: none available local disk space: 4.68 gigabytes (+1 megabyte reserved) [1022]anarcat@angela:Music$ cd - /home/anarcat/mp3 [1023]anarcat@angela:mp3$ git annex info --fast # worse: it's gone from my main repo!! repository mode: indirect trusted repositories: 2 b7802161-c984-4c9f-8d05-787a29c41cfe -- marcos c2ca4a13-9a5f-461b-a44b-53255ed3e2f9 -- markov semitrusted repositories: 6 00000000-0000-0000-0000-000000000001 -- web 00000000-0000-0000-0000-000000000002 -- bittorrent 0f9185ea-8462-4230-8cae-462a1ad0df36 -- here 45124790-dbb7-4e2e-bc0a-acfb618a01e0 -- anarcat@angela:/media/anarcat/cb39412b-d221-4846-a9dd-cdbabd9958f1/Music 487dda55-d164-4bf1-9d85-66caaa9c0743 -- VHS 6f812272-18c8-4346-b68a-f57ae50f657e -- htcones untrusted repositories: 0 transfers in progress: none available local disk space: 13.74 gigabytes (+1 megabyte rese """]] In my opinion, git-annex shouldn't have lost the following repositories: 22921df6-ff75-491c-b5d9-5a2aab33a689 -- anarcat@marcos:/media/anarcat/79884590-6445-4a6f-ae12-050b9a7c1912/mp3 f8818d12-9882-4ca5-bc0f-04e987888a8d -- anarcat@marcos:/media/anarcat/green_crypt/mp3/ 3f6d8082-6f4b-4faa-a3d9-bd5db1891077 -- anarcat@lab-sc.no-ip.org:mp3 4249a4ea-343a-43a8-9bba-457d2ff87c7d -- rachel@topcrapn:~/Musique/MUSIC/anarcat f867da6f-78cb-49be-a0db-d1c8e5f53664 -- n900 Those are repositories that are in the git-annex history, but that don't have git remotes associated with them, for various reasons. I do *not* believe I have marked any of those as "dead" except maybe 3f6d8082-6f4b-4faa-a3d9-bd5db1891077. f8818d12-9882-4ca5-bc0f-04e987888a8d was used during the weekend to do my backups, so it's definitely not dead. It is also interesting to note that even though `git annex info` doesn't know about the remotes, there is still tracking information about all of them (except the 3f one): [[!format txt """ $ git cat-file -p git-annex:001/694/SHA256E-s6732474--e084001bc23a90bfd65d9a3fa20b7bf878be6a49fce7e5a9846efeeba8815516.mp3.log 1376877225.866849s 1 b7802161-c984-4c9f-8d05-787a29c41cfe 1378838314.653241s 1 c2ca4a13-9a5f-461b-a44b-53255ed3e2f9 1379790798.215871s 1 0f9185ea-8462-4230-8cae-462a1ad0df36 1391065040.28672s 1 22921df6-ff75-491c-b5d9-5a2aab33a689 1397893686.079999s 1 487dda55-d164-4bf1-9d85-66caaa9c0743 1398657510.376249s 1 4249a4ea-343a-43a8-9bba-457d2ff87c7d 1407479149.838437s 1 f8818d12-9882-4ca5-bc0f-04e987888a8d 1407479149.929843s 1 f8818d12-9882-4ca5-bc0f-04e987888a8d 1407510928.457047s 1 487dda55-d164-4bf1-9d85-66caaa9c0743 1424134721.290026s 1 b7802161-c984-4c9f-8d05-787a29c41cfe 1424227570.153123s 1 487dda55-d164-4bf1-9d85-66caaa9c0743 1445468844.056214s 1 f867da6f-78cb-49be-a0db-d1c8e5f53664 1458775384.454193s 0 6f812272-18c8-4346-b68a-f57ae50f657e """]] it's a mystery to me why that stuff disappeared from `git-annex info`. it's especially confusing since some commands seem to recognize there *was* a remote there: $ git annex enableremote f867da6f-78cb-49be-a0db-d1c8e5f53664 git-annex: Unknown special remote. f867da6f-78cb-49be-a0db-d1c8e5f53664 -- n900 Notice how `n900` was shown here: that metadata obviously *is* somewhere! The uuid.log file is obviously damaged: [1036]anarcat@angela:mp31$ git cat-file -p git-annex:uuid.log 45124790-dbb7-4e2e-bc0a-acfb618a01e0 anarcat@angela:/media/anarcat/cb39412b-d221-4846-a9dd-cdbabd9958f1/Music timestamp=1459356223.537195s ... and it clearly looks like the file was damaged on that new repo: [[!format txt """ * 266099a N (synced/git-annex, git-annex) continuing transition ["forget git history","forget dead remotes","forget git history","forget dead remotes","forget git history","forget git history","forget dead remotes","forget git history","forget dead remotes","forget git history","forget dead remotes","forget git history","forget dead remotes"] (il y a 75 minutes) |\ * | 298cc10 N (htcones/synced/git-annex) continuing transition ["forget git history","forget dead remotes","forget git history","forget dead remotes","forget git history","forget git history","forget dead remotes","forget git history","forget dead remotes","forget git history","forget dead remotes","forget git history","forget dead remotes"] (il y a 13 jours) | | | | diff --git a/uuid.log b/uuid.log | | index 656b369..a730ad0 100644 | | --- a/uuid.log | | +++ b/uuid.log | | @@ -1,14 +1,9 @@ | | 0f9185ea-8462-4230-8cae-462a1ad0df36 anarcat@angela:~/mp3 timestamp=1376882226.164478s | | 22921df6-ff75-491c-b5d9-5a2aab33a689 anarcat@marcos:/media/anarcat/79884590-6445-4a6f-ae12-050b9a7c1912/mp3 timestamp=1397741440.125973s | | -2fec390f-f21b-4293-be50-f219be10ea02 anarcat@marcos:/media/anarcat/Nokia N900/.sounds/mp3-test timestamp=1444709804.587901s | | 3f6d8082-6f4b-4faa-a3d9-bd5db1891077 anarcat@lab-sc.no-ip.org:mp3 timestamp=1397882243.602438s | | -3f6d8082-6f4b-4faa-a3d9-bd5db1891077 anarcat@serveur-maison:~/mp3 timestamp=1397870776.162703s | | 4249a4ea-343a-43a8-9bba-457d2ff87c7d rachel@topcrapn:~/Musique/MUSIC/anarcat timestamp=1398631775.545666s | | 487dda55-d164-4bf1-9d85-66caaa9c0743 300GB hard drive labeled VHS timestamp=1397880144.616515s | | -509d1cd7-ecd1-4e2f-803d-575d9c56a5bc anarcat@angela:/media/anarcat/Nokia N900/.sounds/mp3 timestamp=1444483581.960103s | | b7802161-c984-4c9f-8d05-787a29c41cfe anarcat@marcos:/srv/mp3 timestamp=1376874943.951103s | | c2ca4a13-9a5f-461b-a44b-53255ed3e2f9 anarcat@desktop008:/srv/musique/anarcat/mp3 timestamp=1410989161.237514s | | -c2ca4a13-9a5f-461b-a44b-53255ed3e2f9 anarcat@desktop008:/srv/musique/anarcat/musique/mp3 timestamp=1384884883.106166s | | -f641e18f-7cb1-49ba-abe1-7544b435b67f anarcat@marcos:/media/anarcat/Nokia N900/.sounds/mp3-init timestamp=1444708760.468268s | | f867da6f-78cb-49be-a0db-d1c8e5f53664 n900 timestamp=1445438785.796624s | | f8818d12-9882-4ca5-bc0f-04e987888a8d anarcat@marcos:/media/anarcat/green_crypt/mp3/ timestamp=1407470841.967597s """]] So i guess i could manually edit that uuid.log file to restore my metadata, but i'm puzzled as to where my data went or how! ### Workaround The workaround is to, of course, restore a known sane `uuid.log`: [[!format sh """ [1048]anarcat@angela:~128$ git clone -b git-annex mp3 mp3.annex Clonage dans 'mp3.annex'... fait. Extraction des fichiers: 100% (32234/32234), fait. [1049]anarcat@angela:~$ cd mp3.annex/ [1067]anarcat@angela:mp3.annex$ git co dfe1b77 uuid.log [1068]anarcat@angela:mp3.annex$ git status Sur la branche git-annex Votre branche est à jour avec 'origin/git-annex'. Modifications qui seront validées : (utilisez "git reset HEAD ..." pour désindexer) modifié : uuid.log [1069]anarcat@angela:mp3.annex$ git commit -m"restore broken uuid.log" [git-annex 9628f3b] restore broken uuid.log 1 file changed, 14 insertions(+), 1 deletion(-) rewrite uuid.log (100%) [1070]anarcat@angela:mp3.annex$ git push Décompte des objets: 2, fait. Delta compression using up to 2 threads. Compression des objets: 100% (2/2), fait. Écriture des objets: 100% (2/2), 262 bytes | 0 bytes/s, fait. Total 2 (delta 1), reused 0 (delta 0) To /home/anarcat/mp3 266099a..9628f3b git-annex -> git-annex [1071]anarcat@angela:mp3.annex$ cd - /home/anarcat [1072]anarcat@angela:~$ git ^C [1072]anarcat@angela:~130$ cd - /home/anarcat/mp3.annex [1072]anarcat@angela:mp3.annex$ cd ../mp3 [1073]anarcat@angela:mp3$ git annex merge merge git-annex ok [1074]anarcat@angela:mp3$ git annex info --fast repository mode: indirect trusted repositories: 4 22921df6-ff75-491c-b5d9-5a2aab33a689 -- anarcat@marcos:/media/anarcat/79884590-6445-4a6f-ae12-050b9a7c1912/mp3 b7802161-c984-4c9f-8d05-787a29c41cfe -- anarcat@marcos:/srv/mp3 [marcos] c2ca4a13-9a5f-461b-a44b-53255ed3e2f9 -- anarcat@desktop008:/srv/musique/anarcat/mp3 [markov] f8818d12-9882-4ca5-bc0f-04e987888a8d -- anarcat@marcos:/media/anarcat/green_crypt/mp3/ semitrusted repositories: 8 00000000-0000-0000-0000-000000000001 -- web 00000000-0000-0000-0000-000000000002 -- bittorrent 0f9185ea-8462-4230-8cae-462a1ad0df36 -- anarcat@angela:~/mp3 [here] 3f6d8082-6f4b-4faa-a3d9-bd5db1891077 -- anarcat@lab-sc.no-ip.org:mp3 4249a4ea-343a-43a8-9bba-457d2ff87c7d -- rachel@topcrapn:~/Musique/MUSIC/anarcat 487dda55-d164-4bf1-9d85-66caaa9c0743 -- 300GB hard drive labeled VHS [VHS] 6f812272-18c8-4346-b68a-f57ae50f657e -- htcones f867da6f-78cb-49be-a0db-d1c8e5f53664 -- n900 untrusted repositories: 0 transfers in progress: none available local disk space: 13.44 gigabytes (+1 megabyte reserved) """]] But it seems to me there is a weird interaction between transitions and fresh new git repo syncs... that could be fixed... ### Have you had any luck using git-annex before? (Sometimes we get tired of reading bug reports all day and a lil' positive end note does wonders) Yes! Git-annex works generally well and, even though i often report bugs here, i am still quite happy with it. :) --[[anarcat]]