git-lfs/commands/command_env.go
Preben Ingvaldsen 18f4e03230 config: add origin to remote list
Previously, origin was being explicitly excluded from the list
of remotes. This could cause the wrong remote to be used in some
cases, such as with `git lfs pull`, and for the `origin` remote to
be missed in `git lfs env`. This commit ensures that the remote
list has the correct contents, and that `git lfs pull` and
`git lfs env` now function as expected.
2018-07-26 11:40:47 -07:00

60 lines
1.6 KiB
Go

package commands
import (
"github.com/git-lfs/git-lfs/config"
"github.com/git-lfs/git-lfs/git"
"github.com/git-lfs/git-lfs/lfs"
"github.com/spf13/cobra"
)
func envCommand(cmd *cobra.Command, args []string) {
config.ShowConfigWarnings = true
gitV, err := git.Version()
if err != nil {
gitV = "Error getting git version: " + err.Error()
}
Print(config.VersionDesc)
Print(gitV)
Print("")
defaultRemote := ""
if cfg.IsDefaultRemote() {
defaultRemote = cfg.Remote()
endpoint := getAPIClient().Endpoints.Endpoint("download", defaultRemote)
if len(endpoint.Url) > 0 {
access := getAPIClient().Endpoints.AccessFor(endpoint.Url)
Print("Endpoint=%s (auth=%s)", endpoint.Url, access)
if len(endpoint.SshUserAndHost) > 0 {
Print(" SSH=%s:%s", endpoint.SshUserAndHost, endpoint.SshPath)
}
}
}
for _, remote := range cfg.Remotes() {
if remote == defaultRemote {
continue
}
remoteEndpoint := getAPIClient().Endpoints.RemoteEndpoint("download", remote)
remoteAccess := getAPIClient().Endpoints.AccessFor(remoteEndpoint.Url)
Print("Endpoint (%s)=%s (auth=%s)", remote, remoteEndpoint.Url, remoteAccess)
if len(remoteEndpoint.SshUserAndHost) > 0 {
Print(" SSH=%s:%s", remoteEndpoint.SshUserAndHost, remoteEndpoint.SshPath)
}
}
for _, env := range lfs.Environ(cfg, getTransferManifest()) {
Print(env)
}
for _, key := range []string{"filter.lfs.process", "filter.lfs.smudge", "filter.lfs.clean"} {
value, _ := cfg.Git.Get(key)
Print("git config %s = %q", key, value)
}
}
func init() {
RegisterCommand("env", envCommand, nil)
}