This repository was archived by the owner on Aug 30, 2024. It is now read-only.
- Notifications
You must be signed in to change notification settings - Fork18
Uh oh!
There was an error while loading.Please reload this page.
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.Learn more about bidirectional Unicode characters
anthonyshull approved these changesJun 24, 2020
Comment on lines +84 to +87
iffmt.Sprintf("%v",err) ==fmt.Sprintf("%v", IncompatRsync) { | ||
flog.Fatal("no compatible rsync present on remote machine") | ||
} else if fmt.Sprintf("%v", err) == fmt.Sprintf("%v", StreamErrRsync) { | ||
flog.Fatal("error in rsync protocol datastream (no installed remote rsync?)") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others.Learn more.
This isn't great.
We should be checking the exit codehere, and wrap the error with an informative string based on the exit code.
Seehttps://stackoverflow.com/a/55055100 for how we can get the exit code from a command error.
Author
RusstopiaJun 25, 2020 • edited
Loading Uh oh!
There was an error while loading.Please reload this page.
edited
Uh oh!
There was an error while loading.Please reload this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others.Learn more.
Yeah, I figured this wasn't be best way to do it :/ I'll update this ASAP, and include it in PR#60
Sign up for freeto subscribe to this conversation on GitHub. Already have an account?Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading.Please reload this page.
What This Does
Background
While trying out coder-cli on my own dev server, I had used a base ubuntu docker image for my environment. It doesn't install rsync by default, so
coder sync
fails with obscure "rsync: exit status 12".It took a while for me to realize
rsync
wasn't installed in the environment. We should make coder-cli suggest actions to resolve the issue to the user.Also, I suspect the existing check for incompatible rsync protocol won't work, as the errors returned from the sync internal package are xerrors vs. the plain error type declared to compare errors against. When I tried adding the equivalent check for error status 12, following the example for exit status 2, the comparison did not work.
I know it's cheezy to compare literal string representations of errors in Go -- so if a better method is suggested I'll use that instead.
Example 'improved' output if remote environment has no rsync installed