ipfs/add: make --local flag not write out providers
License: MIT Signed-off-by: Jeromy <why@ipfs.io>
Jeromy committed
Aug 19, 2016 at 17:01 UTC
4b278856d2db48dd3221388dc62f788adeaef669
1 file changed
+12
-1
core/commands/add.go
+12
-1
@@ -7,9 +7,12 @@ import (
7
"github.com/ipfs/go-ipfs/core/coreunix"
8
"gx/ipfs/QmeWjRodbcZFKe5tMN7poEx3izym6osrLSnTLf9UjJZBbs/pb"
9
10
+ blockservice "github.com/ipfs/go-ipfs/blockservice"
11
cmds "github.com/ipfs/go-ipfs/commands"
12
files "github.com/ipfs/go-ipfs/commands/files"
13
core "github.com/ipfs/go-ipfs/core"
14
+ offline "github.com/ipfs/go-ipfs/exchange/offline"
15
+ dag "github.com/ipfs/go-ipfs/merkledag"
16
dagtest "github.com/ipfs/go-ipfs/merkledag/test"
17
mfs "github.com/ipfs/go-ipfs/mfs"
18
ft "github.com/ipfs/go-ipfs/unixfs"
@@ -146,10 +149,18 @@ You can now refer to the added file in a gateway, like so:
149
n = nilnode
150
}
151
152
+ dserv := n.DAG
153
+ local, _, _ := req.Option("local").Bool()
154
+ if local {
155
+ offlineexch := offline.Exchange(n.Blockstore)
156
+ bserv := blockservice.New(n.Blockstore, offlineexch)
157
+ dserv = dag.NewDAGService(bserv)
158
+ }
159
+
160
outChan := make(chan interface{}, 8)
161
res.SetOutput((<-chan interface{})(outChan))
162
152
- fileAdder, err := coreunix.NewAdder(req.Context(), n.Pinning, n.Blockstore, n.DAG)
163
+ fileAdder, err := coreunix.NewAdder(req.Context(), n.Pinning, n.Blockstore, dserv)
164
if err != nil {
165
res.SetError(err, cmds.ErrNormal)
166
return