mirror of
https://github.com/sourcegraph/sourcegraph.git
synced 2026-02-06 18:31:54 +00:00
Closes [#1110](https://github.com/sourcegraph/devx-support/issues/1110) Closes DINF-96 We don't print the stdErr when a command fails … in particular when git fails. Therefore we see very little in the panic of what went wrong. Explanation: > There's a weird behavior that occurs where an error isn't accessible in the err variable // from a *Cmd executing a git command after calling CombinedOutput(). // This occurs due to how Git handles errors and how the exec package in Go interprets the command's output. // Git often writes error messages to stderr, but it might still exit with a status code of 0 (indicating success). // In this case, CombinedOutput() won't return an error, but the error message will be in the out variable. ## Test plan Manual testing ```go func main() { ctx := context.Background() cmd := exec.CommandContext(ctx, "git", "rev-parse", "--is-inside-work-tree") out, err := handleGitCommandExec(cmd) if err != nil { // er := errors.Wrap(err, fmt.Sprintf("idsdsd: %s", string(out))) panic(err) } fmt.Println("hello", string(out)) } ``` ## Changelog <!-- OPTIONAL; info at https://www.notion.so/sourcegraph/Writing-a-changelog-entry-dd997f411d524caabf0d8d38a24a878c --> |
||
|---|---|---|
| .. | ||
| buf | ||
| ci | ||
| cloudsqlproxy | ||
| dependencies | ||
| enterprise | ||
| internal | ||
| interrupt | ||
| linters | ||
| msp | ||
| root | ||
| sams | ||
| .gitignore | ||
| analytics.go | ||
| bootstrap.sh | ||
| BUILD.bazel | ||
| checks.go | ||
| Dockerfile | ||
| generates.go | ||
| live.go | ||
| main_test.go | ||
| main.go | ||
| os.go | ||
| OWNERS | ||
| README.md | ||
| sg_audit.go | ||
| sg_backport.go | ||
| sg_bazel.go | ||
| sg_cloud.go | ||
| sg_cody_gateway.go | ||
| sg_db.go | ||
| sg_deploy.go | ||
| sg_doctor.go | ||
| sg_embeddings_qa.go | ||
| sg_generate.go | ||
| sg_help.go | ||
| sg_images_test.go | ||
| sg_images.go | ||
| sg_insights.go | ||
| sg_install.go | ||
| sg_lint.go | ||
| sg_live.go | ||
| sg_logo.go | ||
| sg_migration.go | ||
| sg_monitoring.go | ||
| sg_ops.go | ||
| sg_page.go | ||
| sg_rfc.go | ||
| sg_run.go | ||
| sg_secret.go | ||
| sg_security.go | ||
| sg_setup.go | ||
| sg_src.go | ||
| sg_start_test.go | ||
| sg_start.go | ||
| sg_teammate.go | ||
| sg_tests.go | ||
| sg_update.go | ||
| sg_version.go | ||
| sg_wolfi.go | ||
| sg.config.example.yaml | ||
| sg.doctor.yaml | ||
| VISION.md | ||
sg - the Sourcegraph developer tool
_____ _____
/\ \ /\ \
/::\ \ /::\ \
/::::\ \ /::::\ \
/::::::\ \ /::::::\ \
/:::/\:::\ \ /:::/\:::\ \
/:::/__\:::\ \ /:::/ \:::\ \
\:::\ \:::\ \ /:::/ \:::\ \
___\:::\ \:::\ \ /:::/ / \:::\ \
/\ \:::\ \:::\ \ /:::/ / \:::\ ___\
/::\ \:::\ \:::\____\/:::/____/ ___\:::| |
\:::\ \:::\ \::/ /\:::\ \ /\ /:::|____|
\:::\ \:::\ \/____/ \:::\ /::\ \::/ /
\:::\ \:::\ \ \:::\ \:::\ \/____/
\:::\ \:::\____\ \:::\ \:::\____\
\:::\ /:::/ / \:::\ /:::/ /
\:::\/:::/ / \:::\/:::/ /
\::::::/ / \::::::/ /
\::::/ / \::::/ /
\::/ / \::/____/
\/____/
sg is the CLI tool that Sourcegraph developers can use to develop Sourcegraph.
Learn more about it here.