@cryptotaxi247 / kubo / commits / 861f30cc1

don't readd entire directories recursively

Jeromy committed Apr 20, 2015 at 16:21 UTC 861f30cc12f87cea68f0d6ea6d48bf8c16dc281f
2 files changed +4 -17
core/commands/add.go
+1 -10
@@ -232,15 +232,6 @@ func add(n *core.IpfsNode, readers []io.Reader) ([]*dag.Node, error) {
232 return dagnodes, nil
233 }
234
235 -func addNode(n *core.IpfsNode, node *dag.Node) error {
236 - err := n.DAG.AddRecursive(node) // add the file to the graph + local storage
237 - if err != nil {
238 - return err
239 - }
240 -
241 - return nil
242 -}
243 -
235 func addFile(n *core.IpfsNode, file files.File, out chan interface{}, progress bool, wrap bool) (*dag.Node, error) {
236 if file.IsDirectory() {
237 return addDir(n, file, out, progress)
@@ -309,7 +300,7 @@ func addDir(n *core.IpfsNode, dir files.File, out chan interface{}, progress boo
300 return nil, err
301 }
302
312 - err = addNode(n, tree)
303 + _, err = n.DAG.Add(tree)
304 if err != nil {
305 return nil, err
306 }
core/commands/object.go
+3 -7
@@ -384,13 +384,8 @@ var ErrEmptyNode = errors.New("no data or links in this node")
384
385 // objectPut takes a format option, serializes bytes from stdin and updates the dag with that data
386 func objectPut(n *core.IpfsNode, input io.Reader, encoding string) (*Object, error) {
387 - var (
388 - dagnode *dag.Node
389 - data []byte
390 - err error
391 - )
387
393 - data, err = ioutil.ReadAll(io.LimitReader(input, inputLimit+10))
388 + data, err := ioutil.ReadAll(io.LimitReader(input, inputLimit+10))
389 if err != nil {
390 return nil, err
391 }
@@ -399,6 +394,7 @@ func objectPut(n *core.IpfsNode, input io.Reader, encoding string) (*Object, err
394 return nil, ErrObjectTooLarge
395 }
396
397 + var dagnode *dag.Node
398 switch getObjectEnc(encoding) {
399 case objectEncodingJSON:
400 node := new(Node)
@@ -429,7 +425,7 @@ func objectPut(n *core.IpfsNode, input io.Reader, encoding string) (*Object, err
425 return nil, err
426 }
427
432 - err = addNode(n, dagnode)
428 + _, err = n.DAG.Add(dagnode)
429 if err != nil {
430 return nil, err
431 }