otherwise, we block on required arguments from stdin before processing the help
flag.
fixes#4837
License: MIT
Signed-off-by: Steven Allen <steven@stebalien.com>
This way, we can always assume that indexing a required argument works.
Also:
* test that the command tree doesn't have any obvious bugs (duplicate options,
arguments in the wrong order, etc).
* simplify the usage ParseBodyArgs.
* remove unnecessary check in the get command.
fixes#4823
License: MIT
Signed-off-by: Steven Allen <steven@stebalien.com>
Currently the "path" module does two very different things:
* Defines how ipfs paths look like and provides tools to parse/split etc.
* Provides a resolver to resolve paths.
This moves the resolver stuff to `path/resolver` and leaves the
path utilities in `path`.
The result is that now the IPFS `path` package just defines what a path
looks like and becomes a module that can be exported/re-used without problems.
Currently there are circular dependency cycles (resolve_test -> merkledag/utils,
merkledag->path), which the prevent the export of merkledag itself.
License: MIT
Signed-off-by: Hector Sanjuan <hector@protocol.ai>
This extracts the blocks/blockstore package and renames the
blocks/blockstore/util package to /blocks/blockstoreutil
(because util depends on Pin and I don't plan to extract
Pin and its depedencies).
The history of blocks/blockstore has been preserved. It has
been gx'ed and imported. Imports have been rewritten accordingly
and re-ordered.
License: MIT
Signed-off-by: Hector Sanjuan <hector@protocol.ai>
This extracts the routing package to its own repository
(https://github.com/ipfs/go-ipfs-routing). History has
been preserved. The new module has been gx'ed and published.
Imports have been rewritten and re-ordered accordingly.
An internal dependency to go-ipfs/repo has been removed
by substituting it with the go-datastore.Batching interface.
License: MIT
Signed-off-by: Hector Sanjuan <hector@protocol.ai>
We'll dedup the code later, for now:
1. Don't drop errors on the floor.
2. Don't modify anything returned by `Links()` directly...
License: MIT
Signed-off-by: Steven Allen <steven@stebalien.com>
Also:
* Update the blockstore/blockservice methods to match.
* Construct a new temporary offline dag instead of having a
GetOfflineLinkService method.
License: MIT
Signed-off-by: Steven Allen <steven@stebalien.com>
It strips the last `/` which was part of a partial fix for #3729. Unfortunately,
it's not a *real* fix but we might as well leave this as it is until we
completely fix it.
License: MIT
Signed-off-by: Steven Allen <steven@stebalien.com>