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

This commit is contained in:
Joey Hess 2019-05-14 15:25:21 -04:00
commit 6a012c7d0c
No known key found for this signature in database
GPG key ID: DB12DB0FF05F8F38
5 changed files with 143 additions and 0 deletions

View file

@ -0,0 +1,9 @@
[[!comment format=mdwn
username="anthony@ad39673d230d75cbfd19d2757d754030049c7673"
nickname="anthony"
avatar="http://cdn.libravatar.org/avatar/05b48b72766177b3b0a6ff4afdb70790"
subject="Should be in ~/.profile"
date="2019-05-14T19:15:07Z"
content="""
At least here (on two Android devices I've used the installer on), the installer sets up ~/.profile to add git-annex to PATH.
"""]]

View file

@ -0,0 +1,46 @@
### Please describe the problem.
Trying to do a "git-annex reinit" on Android (sdcard) fails with an error about failing to set a permission. I tried "git-annex init" as well, and that gave the same error.
### What steps will reproduce the problem?
```
$ git clone ssh://user@host/Westerley-Board.git
$ cd Westerley-Board/
$ git-annex reinit bc11f6b5-753c-4aeb-88e2-0c2f582e9901
reinit bc11f6b5-753c-4aeb-88e2-0c2f582e9901 warning: Cannot protect .git/config on this file system - do not store sensitive information here.
Detected a filesystem without fifo support.
Disabling ssh connection caching.
warning: Cannot protect .git/config on this file system - do not store sensitive information here.
Detected a crippled filesystem.
warning: Cannot protect .git/config on this file system - do not store sensitive information here.
(merging origin/git-annex into git-annex...)
(recording state in git...)
warning: Cannot protect .git/config on this file system - do not store sensitive information here.
warning: Cannot protect .git/config on this file system - do not store sensitive information here.
warning: Cannot protect .git/config on this file system - do not store sensitive information here.
(scanning for unlocked files...)
git-annex: .git/annex/keys.tmp/db: setFileMode: permission denied (Operation not permitted)
failed
git-annex: reinit: 1 failed
```
`git-annex init` fails with the same error.
### What version of git-annex are you using? On what operating system?
OS: Android, on a Amazon Fire Tablet 10. Installed in Termux via the new method (the script); edited the script to tell it to use armel on armv8l. (Supposedly a 64-bit chip, but the Android build is apparently 32-bit).
git-annex version: 7.20190504-g5638ae968
### Please provide any additional information below.
### 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! I have been using it on this tablet for a while, using the previous Android install steps. That was always a bit buggy, was hoping to upgrade to the new method. I also use git-annex on a bunch of Debian boxes, where it is wonderful. Have somewhere between ½ and ¾ TB data in git-annex, in enough repositories and copied to enough machines that I'd have to sit down and think about it to count them all.

View file

@ -0,0 +1,28 @@
[[!comment format=mdwn
username="Ilya_Shlyakhter"
avatar="http://cdn.libravatar.org/avatar/1647044369aa7747829c38b9dcc84df0"
subject="comment 5"
date="2019-05-14T19:23:33Z"
content="""
Still seeing this bug with the latest git-annex, during a parallel git-annex-add:
add pipelines/cromwell-executions/assemble_denovo/ffcbdd7a-f4b2-427f-9aee-b286ff66e42c/call-refine_2x_and_plot/execution/gatk/resource\
s/exampleBAM.bam.bai ok
add pipelines/cromwell-executions/assemble_denovo/ffcbdd7a-f4b2-427f-9aee-b286ff66e42c/call-refine_2x_and_plot/execution/script ok
(recording state in git...)
add pipelines/cromwell-executions/assemble_denovo/3cbe618f-fcb6-4afd-8342-cec631894c66/call-scaffold/execution/stderr
git-annex: .git/annex/othertmp/ingest-stderr61432-7295: rename: permission denied (Permission denied)
failed
add pipelines/cromwell-executions/assemble_denovo/3f716be9-b496-4f08-9bc9-5dc5e65e0111/call-assemble/execution/stderr
git-annex: .git/annex/othertmp/ingest-stderr61432-7830: rename: permission denied (Permission denied)
failed
add pipelines/cromwell-executions/assemble_denovo/4099e3b6-30e8-47cd-8daf-f178cf15bbc2/call-scaffold/execution/stderr.background
git-annex: .git/annex/othertmp/inge61432-8197: rename: permission denied (Permission denied)
failed
add pipelines/cromwell-executions/assemble_denovo/4794a803-878a-4d8b-8ef1-ffff68278d74/call-scaffold/execution/LASV_NGA_2018_1286.lLAS\
V_pool1.7.assembly1-trinity-spades.intermediate_gapfill.fasta
git-annex: .git/annex/othertmp/ingest-LASV_NGA_2018_1286.lLASV_pool1.7.assembly1-trinity-spades61432-8746.interm: rename: permission d\
enied (Permission denied)
failed
"""]]

View file

@ -0,0 +1,51 @@
[[!comment format=mdwn
username="michael.hanke@c60e12358aa3fc6060531bdead1f530ac4d582ec"
nickname="michael.hanke"
avatar="http://cdn.libravatar.org/avatar/f881df265a423e4f24eff27c623148fd"
subject="Empty lines sent by git-annex to an external special remote"
date="2019-05-14T06:36:11Z"
content="""
I am implementing a special remote using https://github.com/Lykos153/AnnexRemote
I found that the annexremote leaves the `readline()` loop once it receives an empty line from git-annex over stdin (https://github.com/Lykos153/AnnexRemote/blob/master/annexremote/annexremote.py#L410). Given that the protocol description says nothing about empty lines this may or may not be sensible. However, I also found that git-annex does (sometimes?) sends empty lines. Here is an excerpt:
```
% git annex --debug copy --to inm7 down/cope1.feat/report_log.html
...
[2019-05-14 07:45:43.350358695] git-annex-remote-inm7[1] <-- TRANSFER STORE MD5E-s48796--33a9884cc35c891f693958b9dd7fccd6.html .git/annex/objects/mj/Kx/MD5E-s48796--33a9884cc35c891f693958b9dd7fccd6.html/MD5E-s48796--33a9884cc35c891f693958b9dd7fccd6.html
<<INCOMING ''
(repeated a total of 22 times)
...
<<INCOMING 'TRANSFER STORE MD5E-s48796--33a9884cc35c891f693958b9dd7fccd6.html .git/annex/objects/mj/Kx/MD5E-s48796--33a9884cc35c891f693958b9dd7fccd6.html/MD5E-s48796--33a9884cc35c891f693958b9dd7fccd6.html\n'
```
where '<<INCOMING' reports anything that is read via `readline()` from the special remote's `stdin`. So 22 empty lines are read from
`stdin` before the `TRANSFER STORE` reported by git-annex to have been sent actually appears.
If I drive the remote implementation \"by hand\" I don't see anything wrong, and no non-protocol output:
```
% git-annex-remote-inm7
VERSION 1
EXTENSIONS INFO
EXTENSIONS
PREPARE
GETCONFIG dataset_uuid
VALUE dda42d6c-7231-11e9-a901-0050b6902ef0
PREPARE-SUCCESS
CHECKPRESENT MD5E-s48796--33a9884cc35c891f693958b9dd7fccd6.html
DIRHASH MD5E-s48796--33a9884cc35c891f693958b9dd7fccd6.html
VALUE mj/Kx/
CHECKPRESENT-FAILURE MD5E-s48796--33a9884cc35c891f693958b9dd7fccd6.html
TRANSFER STORE MD5E-s48796--33a9884cc35c891f693958b9dd7fccd6.html .git/annex/objects/mj/Kx/MD5E-s48796--33a9884cc35c891f693958b9dd7fccd6.html/MD5E-s48796--33a9884cc35c891f693958b9dd7fccd6.html
DIRHASH MD5E-s48796--33a9884cc35c891f693958b9dd7fccd6.html
VALUE mj/Kx/
TRANSFER-SUCCESS STORE MD5E-s48796--33a9884cc35c891f693958b9dd7fccd6.html
```
If git-annex runs it, I see empty lines appearing only after `CHECKPRESENT-FAILURE`.
Which purpose do these empty lines serve? Under what conditions would an empty response from git-annex occur?
Thx!
"""]]

View file

@ -0,0 +1,9 @@
[[!comment format=mdwn
username="michael.hanke@c60e12358aa3fc6060531bdead1f530ac4d582ec"
nickname="michael.hanke"
avatar="http://cdn.libravatar.org/avatar/f881df265a423e4f24eff27c623148fd"
subject="Re: Empty lines sent by git-annex to an external special remote"
date="2019-05-14T08:48:27Z"
content="""
Sorry for the noise. The reason was that my special remote was calling SSH internally and the parent's `stdin` was connected to the SSH process -- which confused all involved parties.
"""]]