From 6e613cf3de6ebfd14edd5a332baf6e4079c1c86f Mon Sep 17 00:00:00 2001
From: Sorin Neacsu <sorin@users.noreply.github.com>
Date: Tue, 5 Dec 2017 02:17:38 -0800
Subject: [PATCH] cmd/geth: add support for geth attach --testnet (#15597)

---
 cmd/geth/consolecmd.go | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

diff --git a/cmd/geth/consolecmd.go b/cmd/geth/consolecmd.go
index 051962be4..2c6b16687 100644
--- a/cmd/geth/consolecmd.go
+++ b/cmd/geth/consolecmd.go
@@ -20,6 +20,7 @@ import (
 	"fmt"
 	"os"
 	"os/signal"
+	"path/filepath"
 	"strings"
 
 	"github.com/ethereum/go-ethereum/cmd/utils"
@@ -114,8 +115,15 @@ func localConsole(ctx *cli.Context) error {
 func remoteConsole(ctx *cli.Context) error {
 	// Attach to a remotely running geth instance and start the JavaScript console
 	endpoint := ctx.Args().First()
-	if endpoint == "" && ctx.GlobalIsSet(utils.DataDirFlag.Name) {
-		endpoint = fmt.Sprintf("%s/geth.ipc", ctx.GlobalString(utils.DataDirFlag.Name))
+	if endpoint == "" {
+		path := node.DefaultDataDir()
+		if ctx.GlobalIsSet(utils.DataDirFlag.Name) {
+			path = ctx.GlobalString(utils.DataDirFlag.Name)
+		}
+		if path != "" && ctx.GlobalBool(utils.TestnetFlag.Name) {
+			path = filepath.Join(path, "testnet")
+		}
+		endpoint = fmt.Sprintf("%s/geth.ipc", path)
 	}
 	client, err := dialRPC(endpoint)
 	if err != nil {
-- 
GitLab