diff --git a/core/commands/add.go b/core/commands/add.go index 8f1dd9764352..5a47af0354ac 100644 --- a/core/commands/add.go +++ b/core/commands/add.go @@ -30,9 +30,15 @@ const ( var AddCmd = &cmds.Command{ Helptext: cmds.HelpText{ - Tagline: "Add a file or directory to ipfs.", + Tagline: "Add a file to ipfs.", + Synopsis: `ipfs add [--quiet | -q] [--silent] [--progress | -p] +[--trickle |-t] [--wrap-with-directory | -w] [--hidden | -H] +[--only-hash | -n] [--chunker | -s] [--pin] [--recursive | -r] +`, ShortDescription: ` -Adds contents of to ipfs. Use -r to add directories (recursively). +Adds contents of to ipfs. Use -r to add directories. +Note that directories are added recursively, to form the ipfs +MerkleDAG. `, LongDescription: ` Adds contents of to ipfs. Use -r to add directories. @@ -61,29 +67,21 @@ You can now refer to the added file in a gateway, like so: }, Options: []cmds.Option{ cmds.OptionRecursivePath, // a builtin option that allows recursive paths (-r, --recursive) - cmds.BoolOption(quietOptionName, "q", "Write minimal output."), - cmds.BoolOption(silentOptionName, "Write no output."), - cmds.BoolOption(progressOptionName, "p", "Stream progress data."), - cmds.BoolOption(trickleOptionName, "t", "Use trickle-dag format for dag generation."), - cmds.BoolOption(onlyHashOptionName, "n", "Only chunk and hash - do not write to disk."), - cmds.BoolOption(wrapOptionName, "w", "Wrap files with a directory object."), - cmds.BoolOption(hiddenOptionName, "H", "Include files that are hidden. Only takes effect on recursive add."), + cmds.BoolOption(quietOptionName, "q", "Write minimal output.").Default(false), + cmds.BoolOption(silentOptionName, "Write no output.").Default(false), + cmds.BoolOption(progressOptionName, "p", "Stream progress data.").Default(true), + cmds.BoolOption(trickleOptionName, "t", "Use trickle-dag format for dag generation.").Default(false), + cmds.BoolOption(onlyHashOptionName, "n", "Only chunk and hash - do not write to disk.").Default(false), + cmds.BoolOption(wrapOptionName, "w", "Wrap files with a directory object.").Default(false), + cmds.BoolOption(hiddenOptionName, "H", "Include files that are hidden. Only takes effect on recursive add.").Default(false), cmds.StringOption(chunkerOptionName, "s", "Chunking algorithm to use."), - cmds.BoolOption(pinOptionName, "Pin this object when adding. Default: true."), + cmds.BoolOption(pinOptionName, "Pin this object when adding.").Default(true), }, PreRun: func(req cmds.Request) error { if quiet, _, _ := req.Option(quietOptionName).Bool(); quiet { return nil } - // ipfs cli progress bar defaults to true - progress, found, _ := req.Option(progressOptionName).Bool() - if !found { - progress = true - } - - req.SetOption(progressOptionName, progress) - sizeFile, ok := req.Files().(files.SizeFile) if !ok { // we don't need to error, the progress bar just won't know how big the files are @@ -129,11 +127,7 @@ You can now refer to the added file in a gateway, like so: hidden, _, _ := req.Option(hiddenOptionName).Bool() silent, _, _ := req.Option(silentOptionName).Bool() chunker, _, _ := req.Option(chunkerOptionName).String() - dopin, pin_found, _ := req.Option(pinOptionName).Bool() - - if !pin_found { // default - dopin = true - } + dopin, _, _ := req.Option(pinOptionName).Bool() if hash { nilnode, err := core.NewNode(n.Context(), &core.BuildCfg{ @@ -220,7 +214,7 @@ You can now refer to the added file in a gateway, like so: return } - progress, prgFound, err := req.Option(progressOptionName).Bool() + progress, _, err := req.Option(progressOptionName).Bool() if err != nil { res.SetError(u.ErrCast(), cmds.ErrNormal) return @@ -233,9 +227,7 @@ You can now refer to the added file in a gateway, like so: } var showProgressBar bool - if prgFound { - showProgressBar = progress - } else if !quiet && !silent { + if !progress && !quiet && !silent { showProgressBar = true } diff --git a/test/sharness/t0040-add-and-cat.sh b/test/sharness/t0040-add-and-cat.sh index a37c605e7528..91f8070c15c2 100755 --- a/test/sharness/t0040-add-and-cat.sh +++ b/test/sharness/t0040-add-and-cat.sh @@ -11,9 +11,15 @@ test_description="Test add and cat commands" client_err_add() { printf "$@\n\n" echo 'USAGE - ipfs add ... - Add a file or directory to ipfs. + ipfs add ... - Add a file to ipfs. - Adds contents of to ipfs. Use -r to add directories (recursively). + ipfs add [--quiet | -q] [--silent] [--progress | -p] + [--trickle |-t] [--wrap-with-directory | -w] [--hidden | -H] + [--only-hash | -n] [--chunker | -s] [--pin] [--recursive | -r] + + Adds contents of to ipfs. Use -r to add directories. + Note that directories are added recursively, to form the ipfs + MerkleDAG. Use '"'"'ipfs add --help'"'"' for more information about this command. ' @@ -360,7 +366,7 @@ test_add_cat_5MB test_add_cat_expensive -test_add_named_pipe " Post http://$API_ADDR/api/v0/add?encoding=json&progress=true&r=true&stream-channels=true:" +test_add_named_pipe " Post http://$API_ADDR/api/v0/add?encoding=json&r=true&stream-channels=true:" test_kill_ipfs_daemon