Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

gin-cli does not write to stderr when a checkout fails #186

Open
The-E opened this issue Mar 3, 2018 · 2 comments
Open

gin-cli does not write to stderr when a checkout fails #186

The-E opened this issue Mar 3, 2018 · 2 comments
Assignees
Labels
Milestone

Comments

@The-E
Copy link

The-E commented Mar 3, 2018

This occurred during my testing of the GinUI client:
When a checkout fails for whatever reason (in this particular case presumably due to a timeout somewhere), gin-cli does not write anything to stderr. GinUI requires that, on failure, something is written to stderr (preferably something meaningful) to figure out whether or not gin-cli worked correctly.

Relevant portions of the gin-cli log:

2018/03/03 12:18:36 COMMAND: get --json achilleas/gin-ui-installers
2018/03/03 12:18:36 Reading config file C:\Users\fwolt\AppData\Roaming\g-node\gin\config.yml
2018/03/03 12:18:36 Configuration values
2018/03/03 12:18:36 {GinHost:https://web.gin.g-node.org:443 GitHost:gin.g-node.org:22 GitUser:git GitHostKey:gin.g-node.org,141.84.41.216 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBE5IBgKP3nUryEFaACwY4N3jlqDx8Qw1xAxU2Xpt5V0p9RNefNnedVmnIBV6lA3n+9kT1OSbyqA/+SgsQ57nHo0= Bin:{Git:git GitAnnex:git-annex SSH:ssh} Annex:{Exclude:[] MinSize:10M}}
2018/03/03 12:18:36 Token read OK
2018/03/03 12:18:36 env GIT_SSH_COMMAND=ssh -i C:/Users/fwolt/AppData/Roaming/g-node/gin/FWoltermann.key -o IdentitiesOnly=yes -o StrictHostKeyChecking=yes -o UserKnownHostsFile=C:/Users/fwolt/AppData/Roaming/g-node/gin/ginhostkey
2018/03/03 12:18:36 Running shell command (Dir: .): git-annex version --raw
2018/03/03 12:18:36 Token read OK
2018/03/03 12:18:36 CloneRepo
2018/03/03 12:18:36 Token read OK
2018/03/03 12:18:36 env GIT_SSH_COMMAND=ssh -i C:/Users/fwolt/AppData/Roaming/g-node/gin/FWoltermann.key -o IdentitiesOnly=yes -o StrictHostKeyChecking=yes -o UserKnownHostsFile=C:/Users/fwolt/AppData/Roaming/g-node/gin/ginhostkey
2018/03/03 12:18:36 Running shell command (Dir: .): git -c core.symlinks=false clone --progress ssh://git@gin.g-node.org:22/achilleas/gin-ui-installers
2018/03/03 12:20:45 Error during clone command
2018/03/03 12:20:45 [stdout]
2018/03/03 12:20:45 [stderr]
Cloning into 'gin-ui-installers'...
remote: Counting objects: 1483, done.        
remote: Compressing objects:   0% (1/1127)           
remote: Compressing objects:   1% (12/1127)           
remote: Compressing objects:   2% (23/1127)           
remote: Compressing objects:   3% (34/1127)           
remote: Compressing objects:   4% (46/1127)           
remote: Compressing objects:   5% (57/1127)           
remote: Compressing objects:   6% (68/1127)           
remote: Compressing objects:   7% (79/1127)           
remote: Compressing objects:   8% (91/1127)           
remote: Compressing objects:   9% (102/1127)           
remote: Compressing objects:  10% (113/1127)           
remote: Compressing objects:  11% (124/1127)           
remote: Compressing objects:  12% (136/1127)           
remote: Compressing objects:  13% (147/1127)           
remote: Compressing objects:  14% (158/1127)           
remote: Compressing objects:  15% (170/1127)           
remote: Compressing objects:  16% (181/1127)           
remote: Compressing objects:  17% (192/1127)           
remote: Compressing objects:  18% (203/1127)           
remote: Compressing objects:  19% (215/1127)           
remote: Compressing objects:  20% (226/1127)           
remote: Compressing objects:  21% (237/1127)           
remote: Compressing objects:  22% (248/1127)           
remote: Compressing objects:  23% (260/1127)           
remote: Compressing objects:  24% (271/1127)           
remote: Compressing objects:  25% (282/1127)           
remote: Compressing objects:  26% (294/1127)           
remote: Compressing objects:  27% (305/1127)           
remote: Compressing objects:  28% (316/1127)           
remote: Compressing objects:  29% (327/1127)           
remote: Compressing objects:  30% (339/1127)           
remote: Compressing objects:  31% (350/1127)           
remote: Compressing objects:  32% (361/1127)           
remote: Compressing objects:  33% (372/1127)           
remote: Compressing objects:  34% (384/1127)           
remote: Compressing objects:  35% (395/1127)           
remote: Compressing objects:  36% (406/1127)           
remote: Compressing objects:  37% (417/1127)           
remote: Compressing objects:  38% (429/1127)           
remote: Compressing objects:  39% (440/1127)           
remote: Compressing objects:  40% (451/1127)           
remote: Compressing objects:  41% (463/1127)           
remote: Compressing objects:  42% (474/1127)           
remote: Compressing objects:  43% (485/1127)           
remote: Compressing objects:  44% (496/1127)           
remote: Compressing objects:  45% (508/1127)           
remote: Compressing objects:  46% (519/1127)           
remote: Compressing objects:  47% (530/1127)           
remote: Compressing objects:  48% (541/1127)           
remote: Compressing objects:  49% (553/1127)           
remote: Compressing objects:  50% (564/1127)           
remote: Compressing objects:  51% (575/1127)           
remote: Compressing objects:  52% (587/1127)           
remote: Compressing objects:  53% (598/1127)           
remote: Compressing objects:  54% (609/1127)           
remote: Compressing objects:  55% (620/1127)           
remote: Compressing objects:  56% (632/1127)           
remote: Compressing objects:  57% (643/1127)           
remote: Compressing objects:  58% (654/1127)           
remote: Compressing objects:  59% (665/1127)           
remote: Compressing objects:  60% (677/1127)           
remote: Compressing objects:  61% (688/1127)           
remote: Compressing objects:  62% (699/1127)           
remote: Compressing objects:  63% (711/1127)           
remote: Compressing objects:  64% (722/1127)           
remote: Compressing objects:  65% (733/1127)           
remote: Compressing objects:  66% (744/1127)           
remote: Compressing objects:  67% (756/1127)           
remote: Compressing objects:  68% (767/1127)           
remote: Compressing objects:  69% (778/1127)           
remote: Compressing objects:  70% (789/1127)           
remote: Compressing objects:  71% (801/1127)           
remote: Compressing objects:  72% (812/1127)           
remote: Compressing objects:  73% (823/1127)           
remote: Compressing objects:  74% (834/1127)           
remote: Compressing objects:  75% (846/1127)           
remote: Compressing objects:  76% (857/1127)           
remote: Compressing objects:  77% (868/1127)           
remote: Compressing objects:  78% (880/1127)           
remote: Compressing objects:  79% (891/1127)           
remote: Compressing objects:  80% (902/1127)           
remote: Compressing objects:  81% (913/1127)           
remote: Compressing objects:  82% (925/1127)           
remote: Compressing objects:  83% (936/1127)           
remote: Compressing objects:  84% (947/1127)           
remote: Compressing objects:  85% (958/1127)           
remote: Compressing objects:  86% (970/1127)           
remote: Compressing objects:  87% (981/1127)           
remote: Compressing objects:  88% (992/1127)           
remote: Compressing objects:  89% (1004/1127)           
remote: Compressing objects:  90% (1015/1127)           
remote: Compressing objects:  91% (1026/1127)           
remote: Compressing objects:  92% (1037/1127)           
remote: Compressing objects:  93% (1049/1127)           
remote: Compressing objects:  94% (1060/1127)           
remote: Compressing objects:  95% (1071/1127)           
remote: Compressing objects:  96% (1082/1127)           
remote: Compressing objects:  97% (1094/1127)           
remote: Compressing objects:  98% (1105/1127)           
remote: Compressing objects:  99% (1116/1127)           
remote: Compressing objects: 100% (1127/1127)           
remote: Compressing objects: 100% (1127/1127), done.        
Receiving objects:   0% (1/1483)   
Receiving objects:   1% (15/1483)   
Receiving objects:   2% (30/1483)   
Receiving objects:   3% (45/1483)   
Receiving objects:   4% (60/1483)   
Receiving objects:   5% (75/1483)   
Receiving objects:   6% (89/1483)   
Receiving objects:   7% (104/1483)   
Receiving objects:   8% (119/1483)   
Receiving objects:   9% (134/1483)   
Receiving objects:  10% (149/1483)   
Receiving objects:  11% (164/1483)   
Receiving objects:  12% (178/1483)   
Receiving objects:  13% (193/1483)   
Receiving objects:  14% (208/1483)   
Receiving objects:  15% (223/1483)   
Receiving objects:  16% (238/1483)   
Receiving objects:  17% (253/1483)   
Receiving objects:  18% (267/1483)   
Receiving objects:  19% (282/1483)   
Receiving objects:  20% (297/1483)   
Receiving objects:  21% (312/1483)   
Receiving objects:  22% (327/1483)   
Receiving objects:  23% (342/1483)   
Receiving objects:  24% (356/1483)   
Receiving objects:  25% (371/1483)   
Receiving objects:  26% (386/1483)   
Receiving objects:  27% (401/1483)   
Receiving objects:  28% (416/1483)   
Receiving objects:  29% (431/1483)   
Receiving objects:  30% (445/1483)   
Receiving objects:  31% (460/1483)   
Receiving objects:  32% (475/1483)   
Receiving objects:  33% (490/1483)   
Receiving objects:  34% (505/1483)   
Receiving objects:  35% (520/1483)   
Receiving objects:  36% (534/1483)   
Receiving objects:  37% (549/1483)   
Receiving objects:  38% (564/1483)   
Receiving objects:  39% (579/1483)   
Receiving objects:  40% (594/1483)   
Receiving objects:  41% (609/1483)   
Receiving objects:  42% (623/1483)   
Receiving objects:  43% (638/1483)   
Receiving objects:  44% (653/1483)   
Receiving objects:  45% (668/1483)   
Receiving objects:  46% (683/1483)   
Receiving objects:  47% (698/1483)   
Receiving objects:  48% (712/1483)   
Receiving objects:  49% (727/1483)   
Receiving objects:  50% (742/1483)   
Receiving objects:  51% (757/1483)   
Receiving objects:  52% (772/1483)   
Receiving objects:  53% (786/1483)   
Receiving objects:  54% (801/1483)   
Receiving objects:  55% (816/1483)   
Receiving objects:  56% (831/1483)   
Receiving objects:  57% (846/1483)   
Receiving objects:  58% (861/1483)   
Receiving objects:  59% (875/1483)   
Receiving objects:  60% (890/1483)   
Receiving objects:  61% (905/1483)   
Receiving objects:  62% (920/1483)   
Receiving objects:  63% (935/1483)   
Receiving objects:  64% (950/1483)   
Receiving objects:  65% (964/1483)   
Receiving objects:  66% (979/1483)   
Receiving objects:  67% (994/1483)   
Receiving objects:  68% (1009/1483)   
Receiving objects:  69% (1024/1483)   
Receiving objects:  70% (1039/1483)   
Receiving objects:  71% (1053/1483)   
Receiving objects:  72% (1068/1483)   
Receiving objects:  73% (1083/1483)   
Receiving objects:  74% (1098/1483)   
Receiving objects:  75% (1113/1483)   
Receiving objects:  76% (1128/1483)   
Receiving objects:  77% (1142/1483)   
Receiving objects:  78% (1157/1483)   
Receiving objects:  79% (1172/1483)   
Receiving objects:  79% (1184/1483), 268.00 KiB | 239.00 KiB/s   
Receiving objects:  79% (1184/1483), 636.00 KiB | 287.00 KiB/s   
Receiving objects:  79% (1184/1483), 1.06 MiB | 336.00 KiB/s   
Receiving objects:  79% (1184/1483), 1.56 MiB | 369.00 KiB/s   
Receiving objects:  79% (1184/1483), 2.06 MiB | 409.00 KiB/s   
Receiving objects:  79% (1184/1483), 2.59 MiB | 460.00 KiB/s   
Receiving objects:  79% (1184/1483), 3.15 MiB | 492.00 KiB/s   
Receiving objects:  79% (1184/1483), 3.28 MiB | 468.00 KiB/s   
Receiving objects:  79% (1184/1483), 3.87 MiB | 491.00 KiB/s   
Receiving objects:  79% (1184/1483), 4.43 MiB | 509.00 KiB/s   
Receiving objects:  79% (1184/1483), 4.93 MiB | 501.00 KiB/s   
Receiving objects:  79% (1184/1483), 5.50 MiB | 503.00 KiB/s   
Receiving objects:  79% (1184/1483), 6.00 MiB | 517.00 KiB/s   
Connection reset by 141.84.41.216 port 22
fatal: early EOF
fatal: The remote end hung up unexpectedly
fatal: index-pack failed
2018/03/03 12:20:45 LOGINIT
2018/03/03 12:20:45 COMMAND: ls --json
2018/03/03 12:20:45 Reading config file C:\Users\fwolt\AppData\Roaming\g-node\gin\config.yml
2018/03/03 12:20:45 Configuration values
2018/03/03 12:20:45 {GinHost:https://web.gin.g-node.org:443 GitHost:gin.g-node.org:22 GitUser:git GitHostKey:gin.g-node.org,141.84.41.216 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBE5IBgKP3nUryEFaACwY4N3jlqDx8Qw1xAxU2Xpt5V0p9RNefNnedVmnIBV6lA3n+9kT1OSbyqA/+SgsQ57nHo0= Bin:{Git:git GitAnnex:git-annex SSH:ssh} Annex:{Exclude:[] MinSize:10M}}
2018/03/03 12:20:45 Token read OK
2018/03/03 12:20:45 env GIT_SSH_COMMAND=ssh -i C:/Users/fwolt/AppData/Roaming/g-node/gin/FWoltermann.key -o IdentitiesOnly=yes -o StrictHostKeyChecking=yes -o UserKnownHostsFile=C:/Users/fwolt/AppData/Roaming/g-node/gin/ginhostkey
2018/03/03 12:20:45 Running shell command (Dir: .): git-annex version --raw
2018/03/03 12:20:46 IsRepo '.'?
2018/03/03 12:20:46 false

@achilleas-k
Copy link
Member

achilleas-k commented Mar 3, 2018

Interesting.

gin-cli definitely detected the failure (error during clone command), so I don't know why it didn't throw out an error. In the current version, v0.15, this should have printed unknown error, which admittedly isn't helpful and has already bitten me in the behind once, but should have been an issue.

If any error occurs, it exits with a non-zero status and N operations failed printed to stderr.

Error conditions are handled a lot better than they used to be, but it looks like I need better fallback cases.

@achilleas-k achilleas-k self-assigned this Apr 4, 2018
@achilleas-k achilleas-k added the P1 label Apr 4, 2018
@achilleas-k
Copy link
Member

Not sure if this is till the case. I think I covered any remaining error cases with the v0.16 release, but I'm bumping the priority and keeping it open to make sure I check everything.

@achilleas-k achilleas-k added this to the 1.0 milestone Jul 4, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants