forked from cerc-io/plugeth
Merge tag 'v1.13.9' into merge/geth-v1.13.9
This commit is contained in:
+28
-6
@@ -43,12 +43,22 @@ import (
|
||||
)
|
||||
|
||||
var (
|
||||
removeStateDataFlag = &cli.BoolFlag{
|
||||
Name: "remove.state",
|
||||
Usage: "If set, selects the state data for removal",
|
||||
}
|
||||
removeChainDataFlag = &cli.BoolFlag{
|
||||
Name: "remove.chain",
|
||||
Usage: "If set, selects the state data for removal",
|
||||
}
|
||||
|
||||
removedbCommand = &cli.Command{
|
||||
Action: removeDB,
|
||||
Name: "removedb",
|
||||
Usage: "Remove blockchain and state databases",
|
||||
ArgsUsage: "",
|
||||
Flags: utils.DatabaseFlags,
|
||||
Flags: flags.Merge(utils.DatabaseFlags,
|
||||
[]cli.Flag{removeStateDataFlag, removeChainDataFlag}),
|
||||
Description: `
|
||||
Remove blockchain and state databases`,
|
||||
}
|
||||
@@ -211,11 +221,11 @@ func removeDB(ctx *cli.Context) error {
|
||||
}
|
||||
// Delete state data
|
||||
statePaths := []string{rootDir, filepath.Join(ancientDir, rawdb.StateFreezerName)}
|
||||
confirmAndRemoveDB(statePaths, "state data")
|
||||
confirmAndRemoveDB(statePaths, "state data", ctx, removeStateDataFlag.Name)
|
||||
|
||||
// Delete ancient chain
|
||||
chainPaths := []string{filepath.Join(ancientDir, rawdb.ChainFreezerName)}
|
||||
confirmAndRemoveDB(chainPaths, "ancient chain")
|
||||
confirmAndRemoveDB(chainPaths, "ancient chain", ctx, removeChainDataFlag.Name)
|
||||
return nil
|
||||
}
|
||||
|
||||
@@ -238,14 +248,26 @@ func removeFolder(dir string) {
|
||||
|
||||
// confirmAndRemoveDB prompts the user for a last confirmation and removes the
|
||||
// list of folders if accepted.
|
||||
func confirmAndRemoveDB(paths []string, kind string) {
|
||||
func confirmAndRemoveDB(paths []string, kind string, ctx *cli.Context, removeFlagName string) {
|
||||
var (
|
||||
confirm bool
|
||||
err error
|
||||
)
|
||||
msg := fmt.Sprintf("Location(s) of '%s': \n", kind)
|
||||
for _, path := range paths {
|
||||
msg += fmt.Sprintf("\t- %s\n", path)
|
||||
}
|
||||
fmt.Println(msg)
|
||||
|
||||
confirm, err := prompt.Stdin.PromptConfirm(fmt.Sprintf("Remove '%s'?", kind))
|
||||
if ctx.IsSet(removeFlagName) {
|
||||
confirm = ctx.Bool(removeFlagName)
|
||||
if confirm {
|
||||
fmt.Printf("Remove '%s'? [y/n] y\n", kind)
|
||||
} else {
|
||||
fmt.Printf("Remove '%s'? [y/n] n\n", kind)
|
||||
}
|
||||
} else {
|
||||
confirm, err = prompt.Stdin.PromptConfirm(fmt.Sprintf("Remove '%s'?", kind))
|
||||
}
|
||||
switch {
|
||||
case err != nil:
|
||||
utils.Fatalf("%v", err)
|
||||
|
||||
@@ -210,7 +210,6 @@ var app = flags.NewApp("the go-ethereum command line interface")
|
||||
func init() {
|
||||
// Initialize the CLI app and start Geth
|
||||
app.Action = geth
|
||||
app.Copyright = "Copyright 2013-2023 The go-ethereum Authors"
|
||||
app.Commands = []*cli.Command{
|
||||
// See chaincmd.go:
|
||||
initCommand,
|
||||
|
||||
+1
-1
@@ -29,7 +29,7 @@
|
||||
{"t":"2023-11-22T15:42:00.408237+08:00","lvl":"info","msg":"repeated-key 2","xx":"short","xx":"longer"}
|
||||
{"t":"2023-11-22T15:42:00.408241+08:00","lvl":"info","msg":"log at level info"}
|
||||
{"t":"2023-11-22T15:42:00.408244+08:00","lvl":"warn","msg":"log at level warn"}
|
||||
{"t":"2023-11-22T15:42:00.408247+08:00","lvl":"eror","msg":"log at level error"}
|
||||
{"t":"2023-11-22T15:42:00.408247+08:00","lvl":"error","msg":"log at level error"}
|
||||
{"t":"2023-11-22T15:42:00.408251+08:00","lvl":"info","msg":"test","bar":"short","a":"aligned left"}
|
||||
{"t":"2023-11-22T15:42:00.408254+08:00","lvl":"info","msg":"test","bar":"a long message","a":1}
|
||||
{"t":"2023-11-22T15:42:00.408258+08:00","lvl":"info","msg":"test","bar":"short","a":"aligned right"}
|
||||
|
||||
+1
-1
@@ -29,7 +29,7 @@ t=xxxx-xx-xxTxx:xx:xx+xxxx lvl=info msg="repeated-key 1" foo=alpha foo=beta
|
||||
t=xxxx-xx-xxTxx:xx:xx+xxxx lvl=info msg="repeated-key 2" xx=short xx=longer
|
||||
t=xxxx-xx-xxTxx:xx:xx+xxxx lvl=info msg="log at level info"
|
||||
t=xxxx-xx-xxTxx:xx:xx+xxxx lvl=warn msg="log at level warn"
|
||||
t=xxxx-xx-xxTxx:xx:xx+xxxx lvl=eror msg="log at level error"
|
||||
t=xxxx-xx-xxTxx:xx:xx+xxxx lvl=error msg="log at level error"
|
||||
t=xxxx-xx-xxTxx:xx:xx+xxxx lvl=info msg=test bar=short a="aligned left"
|
||||
t=xxxx-xx-xxTxx:xx:xx+xxxx lvl=info msg=test bar="a long message" a=1
|
||||
t=xxxx-xx-xxTxx:xx:xx+xxxx lvl=info msg=test bar=short a="aligned right"
|
||||
|
||||
Reference in New Issue
Block a user