Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings
This repository was archived by the owner on Aug 30, 2024. It is now read-only.
/coder-v1-cliPublic archive

Rsync error msgs#58

Merged
Russtopia merged 1 commit intomasterfromrsync-error-msgs
Jun 24, 2020
Merged

Rsync error msgs#58

Russtopia merged 1 commit intomasterfromrsync-error-msgs
Jun 24, 2020

Conversation

Russtopia
Copy link

@RusstopiaRusstopia commentedJun 24, 2020
edited
Loading

What This Does

  • Improve checking for rsync errors in initial sync
  • Suggest to user what might be wrong (in this case, missing rsync in remote environment)

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, socoder sync fails with obscure "rsync: exit status 12".

It took a while for me to realizersync 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

$ ./coder sync foo russ-env1:/home/coder/newpath2020-06-24 11:41:03 INFOdoing initial sync (/home/russtopia/dev/coder-cli/cmd/coder/foo -> /home/coder/newpath)2020-06-24 11:41:04 FATALerror in rsync protocol datastream (no installed remote rsync?)

@RusstopiaRusstopia merged commit29dde34 intomasterJun 24, 2020
@RusstopiaRusstopia deleted the rsync-error-msgs branchJune 24, 2020 19:06
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?)")
Copy link
Contributor

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.

Copy link
Author

@RusstopiaRusstopiaJun 25, 2020
edited
Loading

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.
Reviewers

@scsmithrscsmithrscsmithr left review comments

@anthonyshullanthonyshullanthonyshull approved these changes

Assignees
No one assigned
Labels
None yet
Projects
None yet
Milestone
No milestone
Development

Successfully merging this pull request may close these issues.

3 participants
@Russtopia@anthonyshull@scsmithr

[8]ページ先頭

©2009-2025 Movatter.jp