Add support for custom SSH and SCP commands via environment variables #10730
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.
Fixes: #9244
Description
This PR adds support for customizing the SSH and SCP commands used by the GitHub CLI's codespace functionality through environment variables. Users can now specify alternative SSH/SCP commands with additional options, providing greater flexibility and control over their codespace connections.
Features Added
Added support for two new environment variables:
GH_CS_SSH_COMMAND
: Allows customization of the SSH command used forgh cs ssh
GH_CS_SCP_COMMAND
: Allows customization of the SCP command used forgh cs cp
Implemented robust command-line parsing using the
github.com/google/shlex
library to handle quoted arguments and complex command structuresModified the newSSHCommand and newSCPCommand functions to incorporate arguments from the environment variables
Implementation Details
shlex
library to parse command lines with quoted arguments, ensuring proper handling of complex command structuresExample Usage
Testing