Add a `gitaly git` subcommand
Context
Administrators can execute git
on their production Gitaly nodes to troubleshoot issues or for a variety of other reasons. Currently there is no guarantee that the user is executing the same version of Git as Gitaly does internally, which can result in compatibility issues. With #6089 (closed) we've started to embed the Git binaries inside of Gitaly to allow both components to be upgraded in lockstep.
Proposal
As a follow-up to #6089 (closed) and !7035 (merged), add a gitaly git
subcommand that allows the user to execute Git commands via the same Git execution environment as Gitaly. This command serves as an escape hatch of sorts in case an end user needs to invoke Git on their Gitaly node. The command should pass all arguments through to the underlying git
invocation, and support all forms of input that git
supports (i.e. piping into stdin).