From 861f30cc12f87cea68f0d6ea6d48bf8c16dc281f Mon Sep 17 00:00:00 2001 From: Jeromy Date: Mon, 20 Apr 2015 16:21:00 -0700 Subject: [PATCH] don't readd entire directories recursively --- core/commands/add.go | 11 +---------- core/commands/object.go | 10 +++------- 2 files changed, 4 insertions(+), 17 deletions(-) diff --git a/core/commands/add.go b/core/commands/add.go index 80697d285..2b3297e52 100644 --- a/core/commands/add.go +++ b/core/commands/add.go @@ -232,15 +232,6 @@ func add(n *core.IpfsNode, readers []io.Reader) ([]*dag.Node, error) { return dagnodes, nil } -func addNode(n *core.IpfsNode, node *dag.Node) error { - err := n.DAG.AddRecursive(node) // add the file to the graph + local storage - if err != nil { - return err - } - - return nil -} - func addFile(n *core.IpfsNode, file files.File, out chan interface{}, progress bool, wrap bool) (*dag.Node, error) { if file.IsDirectory() { return addDir(n, file, out, progress) @@ -309,7 +300,7 @@ func addDir(n *core.IpfsNode, dir files.File, out chan interface{}, progress boo return nil, err } - err = addNode(n, tree) + _, err = n.DAG.Add(tree) if err != nil { return nil, err } diff --git a/core/commands/object.go b/core/commands/object.go index e4400199b..9d7b30665 100644 --- a/core/commands/object.go +++ b/core/commands/object.go @@ -384,13 +384,8 @@ var ErrEmptyNode = errors.New("no data or links in this node") // objectPut takes a format option, serializes bytes from stdin and updates the dag with that data func objectPut(n *core.IpfsNode, input io.Reader, encoding string) (*Object, error) { - var ( - dagnode *dag.Node - data []byte - err error - ) - data, err = ioutil.ReadAll(io.LimitReader(input, inputLimit+10)) + data, err := ioutil.ReadAll(io.LimitReader(input, inputLimit+10)) if err != nil { return nil, err } @@ -399,6 +394,7 @@ func objectPut(n *core.IpfsNode, input io.Reader, encoding string) (*Object, err return nil, ErrObjectTooLarge } + var dagnode *dag.Node switch getObjectEnc(encoding) { case objectEncodingJSON: node := new(Node) @@ -429,7 +425,7 @@ func objectPut(n *core.IpfsNode, input io.Reader, encoding string) (*Object, err return nil, err } - err = addNode(n, dagnode) + _, err = n.DAG.Add(dagnode) if err != nil { return nil, err }