Commit Graph

81 Commits

Author SHA1 Message Date
Juan Batiz-Benet
eba0599dd2 bugfix: node teardown is the last man to go down
Warning: during normal execution node teardown must be the
last thing that happens because command requests return
io.Readers, which may still be constructing or processing
their output. The node (and its subservices) is needed for
this. good night and good luck.
2014-11-17 23:13:18 -08:00
Brian Tiger Chow
ef65bb1ce3 revert to debug error
@jbenet

License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
2014-11-17 22:36:18 -08:00
Brian Tiger Chow
cf8fb87df1 refactor(errors) debugerror -> errors
License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
2014-11-17 00:44:18 -08:00
Brian Tiger Chow
1c4c7412b4 fix(misc) address PR comments
License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
2014-11-16 07:40:05 -08:00
Brian Tiger Chow
6fec76d93e fix(imports) misc
License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
2014-11-16 07:01:00 -08:00
Brian Tiger Chow
25c98e8e61 refactor(eventlog) elog -> eventlog
License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>

# TYPES
# feat
# fix
# docs
# style (formatting, missing semi colons, etc; no code change):
# refactor
# test (adding missing tests, refactoring tests; no production code change)
# chore (updating grunt tasks etc; no production code change)

Signed-off-by: Brian Tiger Chow <brian.holderchow@gmail.com>
2014-11-16 07:01:00 -08:00
Brian Tiger Chow
ac69aba561 feat(2/main) configure event logger
License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>

# TYPES
# feat
# fix
# docs
# style (formatting, missing semi colons, etc; no code change):
# refactor
# test (adding missing tests, refactoring tests; no production code change)
# chore (updating grunt tasks etc; no production code change)

Signed-off-by: Brian Tiger Chow <brian.holderchow@gmail.com>
2014-11-16 07:01:00 -08:00
Brian Tiger Chow
be62b76516 refactor(2/main) use debugerror
License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>

# TYPES
# feat
# fix
# docs
# style (formatting, missing semi colons, etc; no code change):
# refactor
# test (adding missing tests, refactoring tests; no production code change)
# chore (updating grunt tasks etc; no production code change)

Signed-off-by: Brian Tiger Chow <brian.holderchow@gmail.com>
2014-11-16 07:01:00 -08:00
Brian Tiger Chow
4cadbc1673 style rename for clarity
License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
2014-11-16 07:00:59 -08:00
Brian Tiger Chow
15f850f08c refactor(2/main) helper methods for details object
License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
2014-11-16 07:00:59 -08:00
Brian Tiger Chow
55896a86d6 logs(2/main) place log statements approppriately
License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
2014-11-16 07:00:59 -08:00
Brian Tiger Chow
2c88e342db feat(elog) implement event logger
a wrapper around the util.Logger
metadata is loggable

License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
2014-11-16 07:00:58 -08:00
Brian Tiger Chow
57689ffc2b fix(2/version) make it possible to execute before init
License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
2014-11-16 03:20:10 -08:00
Juan Batiz-Benet
705465db8b main + daemon signal handlers
This commit changes the signal handler to be added once
the command is executing. this is because the daemon
has its own signal handler, that must try to shut down
the node gracefully first. You know, just in case.
2014-11-16 02:22:43 -08:00
Juan Batiz-Benet
99f2378bac mount: fixed mount init + teardown
This commit adds a Mount abstraction (which is really just
a wrapped context closer). It makes sure to bind the mount
to the fate of the Node (i.e. close it if the node ends).
This fixes #350
2014-11-16 01:42:42 -08:00
Juan Batiz-Benet
3df1513ea6 cmds: fixed help stdio use 2014-11-15 09:04:49 -08:00
Brian Tiger Chow
162169af77 fix(2/main) respect IPFS_LOGGING == debug behvaior
License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
2014-11-15 02:10:53 -08:00
Brian Tiger Chow
56d732f9b1 fix(2/main) s/preemptsUpdates/preemptsAutoUpdate
addresses...

https://github.com/jbenet/go-ipfs/pull/336#discussion_r20397834

License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
2014-11-15 00:39:28 -08:00
Brian Tiger Chow
408fadc8be fix(2/main) don't check for updates when running init
@jbenet @mappum

Yeah, there's some duplicated work. But there's also a separation of
concerns. In one case, we check to determine where the command should
run. In the other case, we check to determine which hooks should run.
Having these actions separated reduces complexity in a nice way.

License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
2014-11-14 17:04:54 -08:00
Brian Tiger Chow
eb5bb1daa8 feat(debugerror)
License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>

impl errorf

License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>

return a debug error

License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
2014-11-14 17:04:48 -08:00
Juan Batiz-Benet
fa8fc1aefc cmds2: check for updates 2014-11-14 03:20:46 -08:00
Matt Bell
1abe97617e main: Pass Stdin to CLI request parser 2014-11-14 03:20:11 -08:00
Juan Batiz-Benet
e0ba14c0eb cmds2: use cmdDetails on level cmds 2014-11-14 03:20:09 -08:00
Brian Tiger Chow
0eeed7cc68 add string method to command details
License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
2014-11-14 03:20:09 -08:00
Brian Tiger Chow
c99e9e6000 feat(details) add funcs to negate negations
not immediately useful, but nice to have

tagging you to make sure i didn't make a mistake here @jbenet

License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
2014-11-14 03:20:07 -08:00
Juan Batiz-Benet
afa5eedb44 cmds2: commandShouldRunOnDaemon
This commit adds the pretty-complicated decision function
to check whether a command should run on the daemon.

@maybebtc @mappum double check the logic?
2014-11-14 03:20:07 -08:00
Brian Tiger Chow
c5e75f91a6 tests(2/main) errClient
Discovered this quirk about interfaces.

@whyrusleeping
@mappum
@jbenet

License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
2014-11-14 03:20:07 -08:00
Matt Bell
db361d9403 commands/cli: Made Parse return an error if request has unrecognized options 2014-11-14 03:20:06 -08:00
Juan Batiz-Benet
047d2e2d62 cmd2: Marshaller -> Marshaler (see golang/encoding)
Also:
- map[cmds.EncodingType]cmds.Marshaller -> MarshalMap

cc @mappum @maybebtc
2014-11-14 03:20:05 -08:00
Matt Bell
c973776049 main: Fixed logical error in remote/local check 2014-11-14 03:20:05 -08:00
Matt Bell
b4735eb10b main: Test if commands are local-only when choosing daemon vs. local 2014-11-14 03:20:04 -08:00
Matt Bell
188bf779db Removed cmdInvocation.root 2014-11-14 03:20:03 -08:00
Matt Bell
9afb85714a commands/cli: Don't return root in Parse 2014-11-14 03:20:03 -08:00
Juan Batiz-Benet
7daf888902 cmds2: handle error return codes 2014-11-14 03:20:03 -08:00
Juan Batiz-Benet
d18902df27 cmds2: changed how the ctx.Node works 2014-11-14 03:20:02 -08:00
Juan Batiz-Benet
3352aeee15 cmds2: fixed show help on root + noncallable 2014-11-14 03:20:02 -08:00
Juan Batiz-Benet
f738e899c2 cmd2: simplified main
Attention @maybebtc @mappum

I cleaned up + simplified the main flow. Now, all printing
is contained inside main itself! (:cheer:). I do this with
the help of a cmdInvocation struct that has both
a Parse and Run. The only major clunkiness left is that the
"CallCommand" is still its own function. But *shrug*.

Please test it works as we would expect. i changed much of
the flow, so likely that i missed a complicated edge case.

main roadmap:
- parse the commandline to get a cmdInvocation
- if user requests, help, print it and exit.
- run the command invocation
- output the response
- if anything fails, print error, maybe with help
2014-11-14 03:20:02 -08:00
Matt Bell
fd8b1930af cmd/ipfs2: Copy subcommands from core/commands2 root into cmd/ipfs2 root 2014-11-14 03:20:01 -08:00
Brian Tiger Chow
4e740f63eb docs(ipfs2/main)
@mappum

License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
2014-11-14 03:20:01 -08:00
Brian Tiger Chow
22a4cc7d30 fix(ipfs2) output info to logger when checking daemon status 2014-11-14 03:20:01 -08:00
Juan Batiz-Benet
a2d06b5f9a cmds2: errHelpRequested error 2014-11-14 03:20:01 -08:00
Matt Bell
78bc748342 cmd/ipfs: Fixed bug where handleParseError sets error to nil 2014-11-14 03:19:59 -08:00
Juan Batiz-Benet
ec8be23cbc cmds/main decomposed handleParseError 2014-11-14 03:19:59 -08:00
Brian Tiger Chow
fed2f8d2c6 fix(2/main) option value signature 2014-11-14 03:19:58 -08:00
Matt Bell
7a505b44c7 Handle -h and --help differently (short text vs long text) 2014-11-14 03:17:42 -08:00
Matt Bell
c76a52e422 cmd/ipfs2: Show short help text instead for usage errors 2014-11-14 03:17:42 -08:00
Matt Bell
4970d8b5a3 commands/cli: Use template for helptext generation 2014-11-14 03:17:41 -08:00
Matt Bell
e23b537f32 Override root command help text 2014-11-14 03:17:41 -08:00
Matt Bell
b358bb3ffd cmd/ipfs2: Added comment to explain default encoding logic 2014-11-14 03:17:40 -08:00
Brian Tiger Chow
8b14012bba refactor(ipfs2/main) rm exit 2014-11-14 03:17:39 -08:00